Java 遍历Map的两种方式

2020-03-10 09:09:03 浏览数 (1)

废话不多说,先声明一个Map

代码语言:javascript复制
Map<Integer,String> map = new HashMap<>();
map.put(3,"张三");
map.put(5,"王五");
map.put(9,"吴九");
map.put(1,"刘一");
map.put(10,"郑十");
map.put(4,"李四");
map.put(8,"周八");
map.put(6,"赵六");
map.put(2,"陈二");
map.put(7,"孙七");
一、KeySet 方式
代码语言:javascript复制
Set<Integer> keySet = map.keySet();
for (Integer key : keySet){
    String value = map.get(key);
    System.out.println(key   ":"   value);
}
二、EntrySet 方式
代码语言:javascript复制
Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
for (Map.Entry<Integer, String> entry : entrySet){
    Integer key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key   ":"   value);
}

这里需要知道KeySet方式要比EntrySet方式慢,之间的速度差距取决于数据量,因为KeySet便利Key时就需要访问一遍Map,而通过Key取Value时又需要访问。


0 人点赞