【发布时间】:2012-10-31 17:45:53
【问题描述】:
首先,如果我错了,请纠正我。我想在不使用 For 循环的情况下从 ArrayList<CustomType> 中找到项目的索引(即字符串值)。
POJO:
id;
name;
代码:
ArrayList<POJO> list = new ArrayList<POJO>;
//Lots of data added to these list...
现在我想从数组列表中找到特定名称的 id,而不使用下面的 for 循环。
String id = null;
// TODO Auto-generated method stub
for (int i = 0; i < list.size(); i++) {
if("ABCD".equalsIgnoreCase(list.get(i).getName())) {
id = list.get(i).getId();
break;
}
}
理想情况下,我不想实现 For 循环,因为在某些情况下,我在 List 中有 500 多个数据,并且使用 For 循环查找索引并不是一个好方法。
【问题讨论】:
-
也许您应该使用
Map<String, POJO>代替String的名称? -
500 个元素并不多,这个循环很可能对代码的性能没有实际影响(即使它效率低下)。
-
@JoachimSauer,但我也必须考虑未来。可能会增加到数千甚至更多。这就是问题所在。 BYW 感谢您的热情回复。
标签: java search arraylist indexof