本套JAVA8教程由于是有英文翻译过来的,如果有翻译不对的地方还请多多包涵。
本节课先简单的介绍下Java8有哪些新特性,对于Java6/7版本做出哪些更改.那废话不多说,赶紧开始今天的课程吧.
这篇文章将向你展示遍历一个 List 和一个 Map 使用 Java 8 的forEach.
forEach 遍历 Map
通常情况下遍历 Map 是像下面这样.
public static void main(String[] args) {
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);
for (Map.Entry<String, Integer> entry : items.entrySet()) {
System.out.println("Item : " + entry.getKey() + " Count : " + entry.getValue());
}
}
在 Java 8 里面你可以用forEach + lambda表达式 来遍历 Map.
public static void main(String[] args) {
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);
items.forEach((k,v)->System.out.println("Item : " + k + " Count : " + v));
items.forEach((k,v)->{
System.out.println("Item : " + k + " Count : " + v);
if("E".equals(k)){
System.out.println("Hello E");
}
});
}
forEach 遍历 List
public static void main(String[] args) {
List<String> items = new ArrayList <>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");
for(String item : items){
System.out.println(item);
}
}
在 Java 8 里面你可以用forEach + lambda表达式 来遍历 Map 或者使用方法引用.
public static void main(String[] args) {
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");
items.forEach(s-> System.out.println(s));
items.forEach(item->{
if("C".equals(item)){
System.out.println(item);
}
});
// ---------更简化一步的表达-------
//方法引用
//Output : A,B,C,D,E
items.forEach(System.out::println);
//使用filter方法
//过滤包含B的字符
items.stream()
.filter(s->s.contains("B"))
.forEach(System.out::println);
}
虽然本节课介绍的比较简单,但是还是介绍了几个关键语法,stream,filter,foreach, 至于他们更复杂的语法,我将会下面揭晓..
小伙伴赶紧动手实践起来吧
网友评论