как второе обновление Arraylist в первом Arraylist? - PullRequest
0 голосов
/ 22 сентября 2018

Два Arraylist в приложении. Первый Arraylist is ArrayList<Thumbnail> videoList = new ArrayList<>() и Второй массив ArrayList - это ArrayList<Giphy> giphylist = new ArrayList().

Элемент массива giphylist обновлен в videoList.Как это обновить до значения второго элемента ArrayList GiphyList в значении первого элемента ArrayList videoList?

Я пытался добавить функцию allAll (). Может ли эта функция перезаписать Arraylist?просто так: videoList = new ArrayList<Thumbnail>(giphyList); это также дает ошибку: не может разрешить конструктор ArrayList (java.util.List)

Thumbnail.java

public class Thumbnail {


    private String gif,videoUrl;
    private int id, thumbUp, thumbDown;

    public Thumbnail (int id,String gif,String videoUrl,int thumbUp,int thumbDown){


        this.gif = gif;
        this.videoUrl = videoUrl;
        this.thumbUp =thumbUp;
        this.thumbDown = thumbDown;
        this.id = id;
    }

    public String getGif() {
        return gif;
    }

    public void setGif(String gif) {
        this.gif = gif;
    }

    public String getVideoUrl() {
        return videoUrl;
    }

    public void setVideoUrl(String videoUrl) {
        this.videoUrl = videoUrl;
    }

    public int getId() {
        return id;
    }

    public int getThumbUp() {
        return thumbUp;
    }

    public int getThumbDown() {
        return thumbDown;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setThumbUp(int thumbUp) {
        this.thumbUp = thumbUp;
    }

    public void setThumbDown(int thumbDown) {
        this.thumbDown = thumbDown;
    }
}

Giphy.java

@Entity
public class Giphy {

    @Id(assignable = true)
    private long id;
    private String url;
    private int thumbUp;
    private int thumbDown;
    private String gif;


//    public Giphy(){

  //  }

    public Giphy(long id,String gif,String url,int thumbUp,int thumbDown){

        this.id = id;
        this.url = url;
        this.thumbUp = thumbUp;
        this.thumbDown = thumbDown;
        this.gif = gif;
    }

    public long getId() {
        return id;
    }

    public String getUrl() {
        return url;
    }

    public int getThumbUp() {
        return thumbUp;
    }

    public int getThumbDown() {
        return thumbDown;
    }

    public void setId(long id) {
        this.id = id;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public void setThumbUp(int thumbUp) {
        this.thumbUp = thumbUp;
    }

    public void setThumbDown(int thumbDown) {
        this.thumbDown = thumbDown;
    }

    public String getGif() {
        return gif;
    }

    public void setGif(String gif) {
        this.gif = gif;
    }
}

Ответы [ 2 ]

0 голосов
/ 22 сентября 2018

Лучшее решение - Объект .

ArrayList<Object> allItems = new ArrayList<>();

Теперь добавьте миниатюру Arraylist в allItems.

allItems.add(thumbnailList);

И, наконец, объедините giphylist.

allItems.addAll(giphylist);

Чтобы получить значение из объекта ArrayList

Thumbnail thumbnail =(Thumbnail)allItems.get(position index);
System.out.println(thumbnail.videoUrl);
0 голосов
/ 22 сентября 2018

Thumbnail и Giphy являются несовместимыми типами.Либо создайте функцию отображения / конструктор для переключения с одного типа на другой, либо объедините их оба в один тип.

Например:

class Giphy {
    //...
    Thumbnail toThumbnail()  {
        return new Thumbnail(id,gif,videoUrl,thumbUp,thumbDown);
    }
}

И вместо videoList = new ArrayList<>(giphyList);

final List<Thumbnail> thumbnails = giphyList.stream().map(Giphy::toThumbnail).collect(toList());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...