可以说我有一个列表,并且试图在其中查找Class元素,从中我仅知道一个(唯一)属性。
public static List<Achievement> listAchievements;
String idAchievement = "5764e35";
这显然不起作用
listAchievements.indexOf(idAchievement );
也不是
Achievement ach(idAchievement);
listAchievements.getIndexOf(ach);
而且解决方法不是很好
for (Achievement achievement : listAchievements) {
if (achievement.resourceID().equalsIgnoreCase(idAchievement)) {
// STUFF
break;
}
}
最佳答案
您拥有的不是解决方法,而是解决方案。
您可以使用类似lambda的行为以及类似的行为来抽象化它……但是最后,如果您试图在列表中搜索具有给定属性的元素,则除了对元素进行迭代外,您无能为力。列出,直到找到具有该给定属性的元素。
如果您需要直接按ID查找附件,如果ID是唯一的(您说是唯一的),则Map<String,Achievement>
可能是更好的选择。