Map集合的遍历的两种方式

Map集合的遍历有两种方式:
  1. 将Map集合转为Set集合 Set<Map.Entry<K,V>> entrySet()
  2. 获取Map集合中的所有的key,所有的key是一个set集合 Set<K> keySet()
一、将Map集合转为Set集合
Map<Integer,String> maps = new HashMap<>();
maps.put(1,"张三");
maps.put(2,"李四");
maps.put(3,"王五");
maps.put(4,"赵六");
maps.put(5,"孙七");

Set<Map.Entry<Integer,String>> set = maps.entrySet();
//遍历set集合,每一次取出一个Node,效率高
for (Map.Entry<Integer,String> node:set) {
    System.out.println(node);
}

Iterator<Map.Entry<Integer,String>> it2 = set.iterator();
while (it2.hasNext()){
    Map.Entry<Integer,String> node = it2.next();
    System.out.println(node);
    /*Integer key = node.getKey();
    String value = node.getValue();
    System.out.println(key+"="+value);*/
}
二、获取Map集合中的所有的key,根据key遍历集合
Map<Integer,String> maps = new HashMap<>();
maps.put(1,"张三");
maps.put(2,"李四");
maps.put(3,"王五");
maps.put(4,"赵六");
maps.put(5,"孙七");

Set<Integer> keys = maps.keySet();
for (Integer i:keys) {
    System.out.println(i+"="+maps.get(i));
}

Iterator<Integer> it = keys.iterator();
while (it.hasNext()){
    Integer key = it.next();
    String value = maps.get(key);
    System.out.println(key+"="+value);
}

版权声明:本文为weixin_43486332原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。