import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/** * 结论: * 第一种和第二种遍历性能相似,在既要key又要value的情况下可以用其中之一 * 第三种需要根据key用get方法取value,相当于多一次遍历,性能差一些,但如果仅需要key,用这种遍历方式也可以 * 第四种只是缓存了entrySet,然而entrySet()方法是单例模式,已经做了缓存 */
public class hashmapCompare {
public void test() {
Map<String, String> map = new HashMap<String, String>();
//第一种,直接遍历所有条目
for (Map.Entry<String, String> entry : map.entrySet()) {
entry.getKey();
entry.getValue();
}
//第二种,利用迭代器遍历
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
entry.getKey();
entry.getValue();
}
//第三种,遍历所有key,之后再取value
for (String key : map.keySet()) {
map.get(key);
}
//缓存entrySet
Set<Map.Entry<String, String>> entrySet = map.entrySet();
for (Map.Entry<String, String> entry : entrySet) {
entry.getKey();
entry.getValue();
}
}
}
JAVA Map的四种遍历比较
原文作者:NicoVon
原文地址: https://blog.csdn.net/ray0354315/article/details/61417162
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/ray0354315/article/details/61417162
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。