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

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。