【发布时间】:2017-11-13 09:29:46
【问题描述】:
我有两种方法可以遍历 hashmap 中的每个条目,你能解释一下哪一个比其他更受欢迎吗?为什么?
HashMap m = new HashMap();
m.put("A",100);
m.put("B",100);
m.put("C",100);
m.put("D",100);
一种迭代方式
Set s1 = m.entrySet();
Iterator itr = s1.iterate();
while(itr.hasNext()) {
Map.Entry m1 = (Map.Entry)s1.next();
System.out.println(m1.getKey()+"..."+m1.getValue);
}
第二种迭代方式
Set<Map.Entry<String,Integer>> s1 = m.entrySet();
for(Map.Entry<String,Integer> m1:s1){
System.out.println(m1.getKey()+"..."+m1.getValue);
}
【问题讨论】:
-
我更喜欢第二个。它可以让你安全地打字等等。但我没有证据证明它表现得更好等等。
-
请更正第一种方式的代码,使差异集中在主要方面例如:
for (Iterator<Map.Entry<String, Integer>> itr = m.entrySet().iterator();itr.hasNext();) {Map.Entry elem = itr.next();System.out.println(elem.getKey() + "..." + elem.getValue());}
标签: java dictionary collections