本篇文章意在简单说明在java 8 中使用 foreach 语法循环一个 Map 和 List 对象。
1. Java 8 forEach 循环 Map对象
1.1 Java 8 以前这样循环一个Map对象
Map<String, String> items = new HashMap<>();
items.put("name", "ThinkingInGIS");
items.put("age", "100");
items.put("email", "1285102362@qq.com");
items.put("slogan", "Maps can talk.");
for (Map.Entry<String, String> entry : items.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
1.2 Java 8 中可以结合lambda表达式用forEach循环一个Map对象
//java 8 forEach + lambda表达式
items.forEach((k,v)->System.out.println( k + " : " + v));
items.forEach((k,v)->{
System.out.println(k + " : " + v);
if("ThinkingInGIS".equals(v)){
System.out.println("hello ThinkingInGIS");
}
});
2. Java 8 forEach 循环一个List对象
2.1 Java 8 以前这样循环一个List对象:
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("ThinkingInGIS");
list.add("Maps");
list.add("can");
list.add("talk");
for(String item : list){
System.out.println(item);
}
2.2 Java 8 中结合lambda表达式用forEach循环一个List对象
//java 8 forEach & lambda表达式
//输出结果:Hello, ThinkingInGIS, Maps, can, talk
list.forEach(item->System.out.println(item));
//输出结果:ThinkingInGIS
list.forEach(item->{
if(item.equals("ThinkingInGIS")){
System.out.println(item);
}
});
//输出结果:Hello, ThinkingInGIS, Maps, can, talk
list.forEach(System.out::println);
//java 8 中参考方法
//输出结果: Maps, can, talk
list.stream()
.filter(item->item.contains("a"))
.forEach(System.out::println);
(如遇到问题,请留言给作者,以便共同探讨gis知识。thinkingingis@qq.com)
Wechat公众号:ThinkingInGIS
欢迎大家关注:)