首页 > 编程语言 > Java8中forEach语句循环一个List和Map
2021
02-28

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

在这篇文章中,我将向您展示如何用新的Java 8 forEach语句循环一个List和Map。

1、forEach 和 Map

1.1、常规循环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); 

for(Map.Entry<String Integer> entry : items.entrySet()){ 
 System.out.println("Item : "+enty.getKey() + " Count :" + entry.getVlaue()) 
} 

1.2 、在Java 8中, 你可以用forEach + lambda表达式来循环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); 
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的方法

 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

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内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

编程技巧