这篇“java中Map遍历的方式有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java中Map遍历的方式有哪些”文章吧。
本文以如下map案例:
Map<String, String> map = new HashMap<>(); map.put("student1", "张三"); map.put("student2", "李四"); map.put("student3", "王五");
1、map.entrySet()方式
entrySet()方法: 获取map中所有的键值对,结果为Set集合
在jdk版本小于1.8时,该种方式经常使用,效率高
//获取map中的所有键值对,结果为Set类型的集合 Set<Map.Entry<String, String>> entries = map.entrySet(); /** 遍历Set集合、开发中常见的遍历方式 */ //1、增强for形式遍历结果 for (Map.Entry<String, String> entry : entries) { System.out.println(entry); } //2、Lamdba表达式遍历结果 entries.forEach(entry-> System.out.println(entry));
2、map.keySet()方式
keySet()方法:获取map中的所有键(key),结果为Set集合
该种方式比 entrySet()方式较慢,且比方式4慢,实际开发中也可使用
//获取map中的所有键,结果为Set类型的集合 Set<String> keys = map.keySet(); //根据key获取map中的元素 for (String key : keys) { System.out.println(map.get(key)); }
3、map.values()方式
values():直接获取map所有的值(value),组装为一个Collection集合
该种方式效率最低,使用到最上层的Collection接口,开发中应当避免使用
//直接获取map所有的值(value),组装为一个Collection集合【Collection集合是Set、List的父接口】 Collection<String> values = map.values(); //遍历Collection集合 for (String value : values) { System.out.println(value); }
4、forEach方式
需JDK8及以上,直接支持遍历map
该种方式是方式1(entrySet)的进一步封装,优化了代码的简洁性,性能与entrySet略慢(因为进一步封装了下),开发中经常使用
语法:
//当业务代码只有一句时,"{}"符号与";"符号可以省略
map.forEach((键变量名称,值遍历名称)->{
//业务代码
});
map.forEach((key,value)-> System.out.println(value));