forEach的三种用法

2021-04-09 11:35:04 浏览数 (2)

代码语言:javascript复制
// 
forEach的三种用法:
//1.直接forEach遍历
	for(int i:list){ System.out.println(i); }
//2.用system.out::println
	list.forEach(System.out::println);
//3.有map集合   键值对的情况下
	set.forEach((key) -> {
			System.out.println(key   "t" map.get(key));
		});
		
举例:

**第一种方法测试**
	
public class GenericEx {
	public static void main(String[] args) {
	}
	@Test
	public void test() {
		List<Integer> list = new ArrayList<Integer>();
		//jdk7版本之后允许不加泛型<Integer>	
		// List<Integer> list=new ArrayList<>();  	 
		list.add(1);// boxing And unboxing
		list.add(2);
		list.add(3);
		list.add(66);
		//int j = 3;
		//Integer iObj = Integer.valueOf(7);
		//int k = j   iObj;// j iObj.intValue();
		//Integer o = j   iObj;// new Integer(j iObj.intValue());
		
第一种方法								第二种方法
												
for(int i:list){						list.forEach(system.out::println);
	system.out.println(i);
	}
输出结果:								输出结果:	
				1										1
				2										2
				3										3
			   	66										66



**第二种方法测试**

@Test
	public void testSet() {
		Set<String> set = new TreeSet<>();//TreeSet方法是按字典顺序排列(即按首字母顺序排列)
		set.add("test");
		set.add("hello");
		set.add("cc");
		set.add("hehe");
		set.add("cc");
		set.forEach(System.out::println);
	}
	
输出结果:
			cc
			hehe
			hello
			test



**第三种方法测试:Map集合有键值对的**

@Test
	public void testMap() {
		// 键是Integer类型,值是String类型
		Map<Integer, String> map = new TreeMap<>();
	  //Map<Integer, String> map=new TreeMap<==Integer, String==>();
		map.put(1, "zhangsan");
		map.put(2, "lisi");
		map.put(3, "wangwu");
		map.put(4, "zhaoliu");		
		Set<Integer> set = map.keySet();
		set = map.keySet();
		set.forEach((key) -> {
			System.out.println(key   "t"   map.get(key));
		});

输出结果:
			1	zhangsan
			2	lisi
			3	wangwu
			4	zhaoliu

删除的话用remove

		set.remove(1);

输出结果:
			2	lisi
			3	wangwu
			4	zhaoliu


##以上为forEach的三种用法以及举例,仅供参考

0 人点赞