2014-01-27 70 views
2

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

List<Image> images = getImages(); 

的列表Image.java

public class Image { 
    private String imageId; 

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

而且我有一个List<String> imageIds更换imageId每个Image目的。什么是最好的方法来做到这一点?

+0

你可以请解释'我有一个列表图像来替换每个图像中的imageId?我不确定你在这里取代什么意思。 –

+1

你如何识别每个imageId和每个Image对象之间的关系? –

+0

我需要更多解释。 –

回答

1

我想遍历List<Image>和每个元素调用imageID的setter将正常工作。

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

0

迭代图像列表并调用setImageId(imageId)就可以了。

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

既然都是列表我假设顺序是重要的,因为它插入。

0

你已经在评论中提到两个列表有相同的顺序,所以你可以试试这个。

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

我不认为'imageIds.iterator()。next()'是你的意思。 ; ) – Radiodef

0

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

+1

如果问题不明确,您可以在问题的下方发表评论以澄清问题。这是一种评论而不是答案。 –

相关问题