Java 8 的 forEach 和 Lambda 如何遍历 List?

2026-04-13 05:392阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计536个文字,预计阅读时间需要3分钟。

Java 8 的 forEach 和 Lambda 如何遍历 List?

我这就帮您简化这段代码,不超过100个字:

javavoid testJava8ForeachMap() { Map items=new HashMap(); items.put(A, 10); items.put(B, 20); items.put(C, 30); items.put(D, 40); items.put(E, 50);}

我就废话不多说了,大家还是直接看代码吧~

@Test void testJava8ForeachMap() { 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(entry.getKey()+":"+entry.getValue()); } System.out.println("==================="); //java8 foreach + 拉姆达表达式遍历Map items.forEach((k, v) -> { System.out.println(k+":"+v); }); } @Test void testJava8ForeachList() { List<String> items = new ArrayList<>(); items.add("A"); items.add("B"); items.add("C"); items.add("D"); items.add("E"); //普通写法遍历List for (String item:items){ System.out.println(item); } System.out.println("单独的 forEach 写法=========="); //单独的 forEach 写法 Consumer consumer = new Consumer<String>() { @Override public void accept(String s) { System.out.println(s); } }; items.forEach(consumer); System.out.println("forEach结合Lambda写法=========="); //输出 A,B,C,D,E items.forEach(s -> { System.out.println(s); }); System.out.println("forEach结合Lambda写法,添加过滤条件=========="); //输出 C items.forEach((s) -> { if("C".equals(s)){ System.out.println(s); } }); }

补充知识:java8 lambda表达式之map和foreach的区别

看 一段代码:

List<String> list = new ArrayList<>(); list.add("a"); list.add("c"); list.add("s"); list.add("b"); list.add("f"); list.forEach(s -> { System.out.println(args.getClass().getTypeName()); });

输出结果:

java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[]

再看map操作符

List<String> list = new ArrayList<>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); List<Integer> list1 = list.stream().map(s -> { Integer a = Integer.parseInt(s); a = a+1; System.out.println(a.getClass().getTypeName()); return a; }).collect(Collectors.toList()); System.out.println(list); System.out.println(list1);

输出结果:

java.lang.Integer java.lang.Integer java.lang.Integer java.lang.Integer java.lang.Integer [1, 2, 3, 4, 5] [2, 3, 4, 5, 6]

map对原来的集合操作后返回一个新的集合。此集合和原集合无任何关系,且不会改变原集合的任何东西

Java 8 的 forEach 和 Lambda 如何遍历 List?

foreach操作的是原集合,返回的还是原集合

以上这篇java8 forEach结合Lambda表达式遍历 List操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

本文共计536个文字,预计阅读时间需要3分钟。

Java 8 的 forEach 和 Lambda 如何遍历 List?

我这就帮您简化这段代码,不超过100个字:

javavoid testJava8ForeachMap() { Map items=new HashMap(); items.put(A, 10); items.put(B, 20); items.put(C, 30); items.put(D, 40); items.put(E, 50);}

我就废话不多说了,大家还是直接看代码吧~

@Test void testJava8ForeachMap() { 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(entry.getKey()+":"+entry.getValue()); } System.out.println("==================="); //java8 foreach + 拉姆达表达式遍历Map items.forEach((k, v) -> { System.out.println(k+":"+v); }); } @Test void testJava8ForeachList() { List<String> items = new ArrayList<>(); items.add("A"); items.add("B"); items.add("C"); items.add("D"); items.add("E"); //普通写法遍历List for (String item:items){ System.out.println(item); } System.out.println("单独的 forEach 写法=========="); //单独的 forEach 写法 Consumer consumer = new Consumer<String>() { @Override public void accept(String s) { System.out.println(s); } }; items.forEach(consumer); System.out.println("forEach结合Lambda写法=========="); //输出 A,B,C,D,E items.forEach(s -> { System.out.println(s); }); System.out.println("forEach结合Lambda写法,添加过滤条件=========="); //输出 C items.forEach((s) -> { if("C".equals(s)){ System.out.println(s); } }); }

补充知识:java8 lambda表达式之map和foreach的区别

看 一段代码:

List<String> list = new ArrayList<>(); list.add("a"); list.add("c"); list.add("s"); list.add("b"); list.add("f"); list.forEach(s -> { System.out.println(args.getClass().getTypeName()); });

输出结果:

java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[]

再看map操作符

List<String> list = new ArrayList<>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); List<Integer> list1 = list.stream().map(s -> { Integer a = Integer.parseInt(s); a = a+1; System.out.println(a.getClass().getTypeName()); return a; }).collect(Collectors.toList()); System.out.println(list); System.out.println(list1);

输出结果:

java.lang.Integer java.lang.Integer java.lang.Integer java.lang.Integer java.lang.Integer [1, 2, 3, 4, 5] [2, 3, 4, 5, 6]

map对原来的集合操作后返回一个新的集合。此集合和原集合无任何关系,且不会改变原集合的任何东西

Java 8 的 forEach 和 Lambda 如何遍历 List?

foreach操作的是原集合,返回的还是原集合

以上这篇java8 forEach结合Lambda表达式遍历 List操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。