在这篇文章中,我将向您展示如何用新的Java 8 forEach语句循环一个List和Map。
1、forEach 和 Map
1.1、常规循环Map常用的方法。
1
2
3
4
5
6
7
8
9
10
11
12
|
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 : " +enty.getKey() + " Count :" + entry.getVlaue())
}
|
1.2 、在Java 8中, 你可以用forEach + lambda表达式来循环Map
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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);});
items.forEach((k,v)->{
System.out.println( "Item : " + k + " Count : " + v);
if ( "E" .equals(k)){
System.out.println( "Hello E" );
}
});
|
2、forEach 和 List
2.1、常规的循环List的方法
1
2
3
4
5
6
7
8
9
|
List<String> items = new ArrayList<>();
items.add( "Anna" );
items.add( "Brian" );
items.add( "Cici" );
items.add( "Elena" );
//常规的循环List的方法
for (String item : items){
System.out.println(item);
}
|
2.2、在Java 8中, 你可以用forEach + lambda表达式 或者方法调用来循环Map
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
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 );
//在Java 8中, 你可以用forEach + lambda表达式来循环Map
//输出上面put的所有列表
items.forEach((k,v)->System.out.println( " Item : " + k + " Count : " + v));
//items.forEach((k,v)->{System.out.println(" Item : "+ k + " Count : " + v);});
//输出上面put的所有列表 + Hello E
items.forEach((k,v)->{
System.out.println( "Item : " + k + " Count : " + v);
if ( "E" .equals(k)){
System.out.println( "Hello E" );
}
});
Map
package com.foreach.learn;
import java.util.HashMap;
import java.util.Map;
public class forEachLearnMap {
public static void main(String[] args) {
//forEach 和 Map
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 );
//常规的循环Map的方法
for (Map.Entry<String, Integer> entry : items.entrySet()) {
System.out.println( " Item : " + entry.getKey() + " Count : " + entry.getValue());
}
//在Java 8中, 你可以用forEach + lambda表达式来循环Map
//输出上面put的所有列表
items.forEach((k,v)->System.out.println( " Item : " + k + " Count : " + v));
//items.forEach((k,v)->{System.out.println(" Item : "+ k + " Count : " + v);});
//输出上面put的所有列表 + Hello E
items.forEach((k,v)->{
System.out.println( "Item : " + k + " Count : " + v);
if ( "E" .equals(k)){
System.out.println( "Hello E" );
}
});
}
}
Lsit:
package com.foreach.learn;
import java.util.ArrayList;
import java.util.List;
public class forEachLearnList {
public static void main(String[] args) {
List<String> items = new ArrayList<>();
items.add( "Anna" );
items.add( "Brian" );
items.add( "Cici" );
items.add( "Elena" );
//常规的循环List的方法
for (String item : items){
System.out.println(item);
}
//在Java 8中, 你可以用forEach + lambda表达式 或者方法调用来循环Map
//lambda
//输出 : Anna, Brian, Cici, Elena
items.forEach(item->System.out.println(item));
//输出 Cici
items.forEach(item->{
if ( "Cici" .equals(item)){
System.out.println(item);
}
});
//方法调用
//输出 : Anna, Brian, Cici, Elena
items.forEach(System.out::println);
//Stream and filter
//输出Brian
items.stream()
.filter(s->s.contains( "Brian" ))
.forEach(System.out::println);
}
}
|
总结
到此这篇关于Java8中forEach语句循环一个List和Map的文章就介绍到这了,更多相关Java8 forEach循环List和Map内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://cloud.tencent.com/developer/article/1457540