File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ jb is `java book`,这里记录了一些我的技术摘要,本项目的目的
2727
28281 . [ Java8简明教程] ( java8/java8-guide.md )
29292 . Java8 Lambda
30- 3 . Java8 Foreach
30+ 3 . [ Java8 Foreach] ( java8/foreach.md )
31314 . Java8 Stream
3232
3333## Hexo搭建博客
Original file line number Diff line number Diff line change 1+ # java8 foreach
2+
3+ 在这篇文章中我将向你演示如何使用Java8中的` foreach ` 操作` List ` 和` Map `
4+
5+ ### 1. Foreach操作Map
6+ 1.1 正常方式遍历Map
7+ ``` java
8+ Map<String , Integer > items = new HashMap<> ();
9+ items. put(" A" , 10 );
10+ items. put(" B" , 20 );
11+ items. put(" C" , 30 );
12+ items. put(" D" , 40 );
13+ items. put(" E" , 50 );
14+ items. put(" F" , 60 );
15+
16+ for (Map . Entry<String , Integer > entry : items. entrySet()) {
17+ System . out. println(" Item : " + entry. getKey() + " Count : " + entry. getValue());
18+ }
19+ ```
20+
21+ <!-- more-->
22+
23+ 1.2 使用Java8的` foreach ` +` lambda ` 表达式遍历Map
24+ ``` java
25+ Map<String , Integer > items = new HashMap<> ();
26+ items. put(" A" , 10 );
27+ items. put(" B" , 20 );
28+ items. put(" C" , 30 );
29+ items. put(" D" , 40 );
30+ items. put(" E" , 50 );
31+ items. put(" F" , 60 );
32+
33+ items. forEach((k,v)- > System . out. println(" Item : " + k + " Count : " + v));
34+
35+ items. forEach((k,v)- > {
36+ System . out. println(" Item : " + k + " Count : " + v);
37+ if (" E" . equals(k)){
38+ System . out. println(" Hello E" );
39+ }
40+ });
41+ ```
42+
43+ ###2 . Foreach操作List
44+ 2.1 普通方式循环List
45+ ``` java
46+ List<String > items = new ArrayList<> ();
47+ items. add(" A" );
48+ items. add(" B" );
49+ items. add(" C" );
50+ items. add(" D" );
51+ items. add(" E" );
52+
53+ for (String item : items){
54+ System . out. println(item);
55+ }
56+ ```
57+ 2.2 在Java8中使用` foreach ` +` lambda ` 表达式遍历List
58+ ``` java
59+ List<String > items = new ArrayList<> ();
60+ items. add(" A" );
61+ items. add(" B" );
62+ items. add(" C" );
63+ items. add(" D" );
64+ items. add(" E" );
65+
66+ // lambda
67+ // Output : A,B,C,D,E
68+ items. forEach(item- > System . out. println(item));
69+
70+ // Output : C
71+ items. forEach(item- > {
72+ if (" C" . equals(item)){
73+ System . out. println(item);
74+ }
75+ });
76+
77+ // method reference
78+ // Output : A,B,C,D,E
79+ items. forEach(System . out:: println);
80+
81+ // Steam and filter
82+ // Output : B
83+ items. stream()
84+ .filter(s- > s. contains(" B" ))
85+ .forEach(System . out:: println);
86+ ```
87+
88+ 参考资料:
89+ 1 . [ Java 8 Iterable forEach JavaDoc] ( https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html#forEach-java.util.function.Consumer- )
90+ 2 . [ Java 8 forEach JavaDoc] ( https://docs.oracle.com/javase/8/docs/api/java/util/Map.html#forEach-java.util.function.BiConsumer- )
91+
92+ 欢迎star开源web框架Blade:[ http://github.com/biezhi/blade ] ( http://github.com/biezhi/blade )
You can’t perform that action at this time.
0 commit comments