【发布时间】:2015-01-27 13:35:57
【问题描述】:
好的,例如我有 Arena 类并将它们添加到列表中,我需要通过一个参数获取 Arena。遍历每个对象或从列表中获取它们更有效?哪种方式效率更高?
public Arena getArena(String param) {
List<Arena> arenas = ...;
for(Arena arena : arenas) {
if(arena.getParameter().equals(param)) return arena;
}
}
或
public Arena getArena(String param) {
List<Arena> arenas = ...;
for(int i = 0; i < arenas.size(); i++) {
if(arenas.get(i).getParameter().equals(param)) return arenas.get(i);
}
}
【问题讨论】:
-
我不知道你是否注意到了,但是在第二个 sn-p 中,你也遍历了每个对象。所以......我不明白为什么任何应该更有效。如果 id 是唯一的并且参数不一定是第二个,那么第二个更安全,但是 ...
-
@Ascalonian 我认为它们在方法上相似,但是根据问题的标题,benR 无法找到它。
-
@NealC - 只是一个简单的谷歌搜索“Java 对象循环”,这是第一个结果。在发布之前进行一些好的搜索很有帮助(并防止投票和关闭)。