本篇文章主要是讲关于原始对map的遍历以及java8提供的新的遍历方式,个人感觉在代码的优化上是非常简洁的
1.创建测试数据
Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
map.put("key4", 4);
map.put("key5", 5);
map.put("key6", 'h');
遍历方式一:
/**
* 通过键遍历实现
*/
System.out.println("--------------遍历方式一 --------------");
for (String key : map.keySet()){
System.out.println(key+"<------->"+map.get(key));
}
java8新的遍历方式:
System.out.println("java8新特性....");
map.keySet().forEach(key -> System.out.println(key+"<-------->"+map.get(key)));
遍历方式二:
/**
* 通过键值对遍历
*/
for(Map.Entry<String,Object> entry : map.entrySet()){
System.out.println(entry.getKey()+"**********"+entry.getValue());
}
java8新的遍历方式:
System.out.println("java8新特性....");
map.entrySet().forEach(entry -> System.out.println(entry.getKey()+"********"+entry.getValue()));
遍历方式三:
/**
* 通过值遍历,但是获取不到key
*/
for (Object value : map.values()){
System.out.println("value: "+value);
}
java8新的遍历方式:
System.out.println("java8新特性....");
map.values().forEach(System.out::println);
遍历方式四:
/**
* java8特有的遍历方式
*/
System.out.println("java8独有的遍历方式..........");
map.forEach((key,value) -> System.out.println(key+"<------------>"+value));
也就是相当于map集合的遍历有七中遍历方式,通过以上代码可以看出,java8新的遍历方式不说性能方面,但是代码简洁和代码的数量上已经占据了优势。