java中Map遍历的四种方式总结

本文以如下map案例:

  1. Map<String, String> map = new HashMap<>();
  2. map.put(“student1”, “张三”);
  3. map.put(“student2”, “李四”);
  4. map.put(“student3”, “王五”);

1、map.entrySet()方式

entrySet()方法: 获取map中所有的键值对,结果为Set集合

在jdk版本小于1.8时,该种方式经常使用,效率高

  1. //获取map中的所有键值对,结果为Set类型的集合
  2. Set<Map.Entry<String, String>> entries = map.entrySet();
  3. /** 遍历Set集合、开发中常见的遍历方式 */
  4. //1、增强for形式遍历结果
  5. for (Map.Entry<String, String> entry : entries) {
  6.          System.out.println(entry);
  7. }
  8. //2、Lamdba表达式遍历结果
  9. entries.forEach(entry-> System.out.println(entry));

2、map.keySet()方式

keySet()方法:获取map中的所有键(key),结果为Set集合

该种方式比 entrySet()方式较慢,且比方式4慢,实际开发中也可使用

  1. //获取map中的所有键,结果为Set类型的集合
  2. Set<String> keys = map.keySet();
  3. //根据key获取map中的元素
  4. for (String key : keys) {
  5.      System.out.println(map.get(key));
  6. }

3、map.values()方式

values():直接获取map所有的值(value),组装为一个Collection集合

该种方式效率最低,使用到最上层的Collection接口,开发中应当避免使用

  1. //直接获取map所有的值(value),组装为一个Collection集合【Collection集合是Set、List的父接口】
  2. Collection<String> values = map.values();
  3. //遍历Collection集合
  4. for (String value : values) {
  5.      System.out.println(value);
  6. }

4、forEach方式

需JDK8及以上,直接支持遍历map

该种方式是方式1(entrySet)的进一步封装,优化了代码的简洁性,性能与entrySet略慢(因为进一步封装了下),开发中经常使用

语法:

//当业务代码只有一句时,”{}”符号与”;”符号可以省略

map.forEach((键变量名称,值遍历名称)->{

        //业务代码

});

  1. map.forEach((key,value)-> System.out.println(value));

总结

到此这篇关于Java中Map遍历的四种方式总结的文章就介绍到这了,更多相关java Map遍历方式内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

标签

发表评论