我需要一些帮助,如何通过将每个对象字段或属性与给定的字符串值进行比较来检查我的对象列表是否会重复。
我的POJO
public class AnnouncementModel extends AnnouncementsID {
public String title, description, image, time;
//Needed for Firebase
public AnnouncementModel(){}
public AnnouncementModel(String title, String description, String image, String time) {
this.title = title;
this.description = description;
this.image = image;
this.time = time;
}
}
我想要的是将我给定的String id与这个
的公告ID进行比较for(int i = 0; i < announcementList.size(); i++) {
//Check if the deleted document ID is equal or exist in the list of announcement
if(myGivenID.equals(announcementList.get(i).AnnouncementsID)) {
//If yes then delete that object in list by targeting its index
Log.d(TAG, "Removed city: " + announcementList.get(i).getTitle());
announcementList.remove(i);
//Notify the adapter that some item gets remove
announcementRecyclerAdapter.notifyItemRemoved(i);
announcementRecyclerAdapter.notifyItemRangeChanged(i,announcementList.size()-1);
}
}
但是我不想循环它,因为我想要的只是检查它是否已经存在而且我也不需要索引。可能吗?我看到这可以使用Java 8 Stream API完成,但在我的情况下我不能使用它,因为它与Android SDK 23及以下版本不兼容。任何人都可以为它提供完整的示例代码吗?
答案 0 :(得分:0)
要使equals()
方法按预期工作,类AnnouncementModel
需要实现方法hashcode()
和equals()
。
Eclipse可以为您生成它们。否则任何基本实现都会有效。