Java 8 forEach循环一个List和Map

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zbj18314469395/article/details/80599213

在这篇文章中,我将向您展示如何用新的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);		
	}

}

猜你喜欢

转载自blog.csdn.net/zbj18314469395/article/details/80599213