JAVA Map的四种遍历比较

来源:互联网 发布:简易财务记账软件 编辑:程序博客网 时间:2024/06/05 02:04
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();        }    }}

转载自:http://www.trinea.cn/android/hashmap-loop-performance/

0 0