Rom*_*man 3 java iterator loops hashmap
我有一个HashMap<String,String>(被叫p2p),我想在它的元素上做一个循环.我找到了以下简单的方法:
for (String key : p2p.keySet()) {
value = p2p.get(key);
}
Run Code Online (Sandbox Code Playgroud)
然而,后来我发现人们使用iterator().例如:
Iterator it = p2p.keySet().iterator();
while(it.hasNext()) {
key = it.next();
value = p2p.get(key);
}
Run Code Online (Sandbox Code Playgroud)
对我来说,第一种方式看起来更简单.所以,我的问题是为什么人们使用第二种方式?它是否具有一些客观优势,或者仅仅是品味和简单性的主观性问题?
它们是相同的 - 增强的for循环使用迭代器来获取元素(除非你在数组上进行迭代,在这种情况下它使用引擎盖下的长度和数组访问.)
但就个人而言,我不会那么迭代 - 我会迭代键/值对:
for (Map.Entry<String, String> entry : p2p.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
}
Run Code Online (Sandbox Code Playgroud)
这样你就不需要做任何实际的查找了.
| 归档时间: |
|
| 查看次数: |
2421 次 |
| 最近记录: |