如何从另一个列表中替换的对象列表中的元素
List<Image> images = getImages();
的列表Image.java
public class Image {
private String imageId;
// getter and setter methods
// ...
}
而且我有一个List<String> imageIds
更换imageId
每个Image
目的。什么是最好的方法来做到这一点?
我想遍历List<Image>
和每个元素调用imageID的setter将正常工作。
即使有一种方法可以用较少的代码来完成,它可能会使用遍历。
迭代图像列表并调用setImageId(imageId)
就可以了。
Iterator<String> imageIDs = imageIds.iterator();
for(Image image : images){
image.setImageId(imageIDs.next());
}
既然都是列表我假设顺序是重要的,因为它插入。
你已经在评论中提到两个列表有相同的顺序,所以你可以试试这个。
List<String> imageIds=new ArrayList<>();
List<Image> images = new ArrayList<>();
for(Image img:images){
img.setImageId(imageIds.iterator().next());
}
我不认为'imageIds.iterator()。next()'是你的意思。 ; ) – Radiodef
你这个问题听起来很奇怪。这不是很清楚,但是如果您需要添加/删除/替换列表中的元素,则应该使用ListIterator。它有一个set方法,它允许替换元素。
如果问题不明确,您可以在问题的下方发表评论以澄清问题。这是一种评论而不是答案。 –
你可以请解释'我有一个列表图像来替换每个图像中的imageId?我不确定你在这里取代什么意思。 –
你如何识别每个imageId和每个Image对象之间的关系? –
我需要更多解释。 –