如何从另一个列表中替换对象列表中的元素

时间:2014-01-27 06:03:15

标签: java list collections

我有图像列表

List<Image> images = getImages();

Image.java

public class Image {
    private String imageId;

    // getter and setter methods
    // ...
}

我有一个List<String> imageIds来替换每个imageId对象中的Image。最好的方法是什么?

4 个答案:

答案 0 :(得分:1)

我认为遍历List<Image>并且对于每个元素调用imageID的setter都可以正常工作。

即使有一种方法可以用更少的代码来完成它,它可能会使用遍历的遍历。

答案 1 :(得分:0)

迭代图像列表并在其上调用setImageId(imageId)

Iterator<String> imageIDs = imageIds.iterator();
for(Image image : images){
    image.setImageId(imageIDs.next());
}

由于两者都是List我假设订单在插入时很重要。

答案 2 :(得分:0)

你在评论中提到两个List都有相同的顺序,所以你可以试试这个。

    List<String> imageIds=new ArrayList<>();
    List<Image> images = new ArrayList<>();
    for(Image img:images){
       img.setImageId(imageIds.iterator().next());
    }

答案 3 :(得分:0)

你的问题听起来很奇怪。它不是很清楚,但如果您需要在列表中添加/删除/替换元素,则应使用ListIterator。它有一个set方法,允许替换元素。