好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java8中forEach语句循环一个List和Map

在这篇文章中,我将向您展示如何用新的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测试数据/developer/article/1457540

查看更多关于Java8中forEach语句循环一个List和Map的详细内容...

  阅读:40次