我有一个存储图像的arraylist。我希望通过ID找到图像,然后添加用户名和评论。
@Override
public Image createImage(String username, String url, String description) {
String id = String.valueOf(Images.size() +1);
Image N = new Image (username, url, description, id);
Images.add(N);
return N;
}
@Override
public Comment addCommentOnImage(String username, String img_id, String comment) {
for(Object s : Images)
if(s.equals(img_id))
??????? what now??
}
我将如何在Java中使用它?
答案 0 :(得分:1)
你可以这样做。您可以创建一个包含imgID
,image
和description
。
public class ImgData {
private String imgID;
private Image image;
private String description;
// getter and setters
}
现在您可以执行以下操作。现在您的列表类型为ImgData
。然后,您可以按照以下步骤设置所选ID的描述。
List<ImgData> list=new ArrayList<>();
for (ImgData i:list){
if(i.getImgID().equals("someID")){
i.setDescription("description about the image");
}
}
答案 1 :(得分:0)
您应该将该图像对象保留在类中,然后在其中添加注释,而不是将图像对象添加到数组列表中
喜欢: -
public class MyClass{
public Int ID { get; set; }
public Image MyImage { get; set; }
public string Comment { get; set; }
}
现在将此类对象添加到数组列表中,然后使用Linq
获取ID