java8 forEach结合Lambda表达式遍历 List操作

 更新时间:2020年09月14日 08:45:21   作者:91奔跑的蜗牛  
这篇文章主要介绍了java8 forEach结合Lambda表达式遍历 List操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

 @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对原来的集合操作后返回一个新的集合。此集合和原集合无任何关系,且不会改变原集合的任何东西

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

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

相关文章

  • 深入浅出的讲解Java关键字final的作用

    深入浅出的讲解Java关键字final的作用

    final是Java中非常常见的一个关键字,可以说每天都在使用它,虽然常见,但却也不见得都那么显而易见,今天就来研究一下final,以加深对它的理解和更合理的运用,需要的朋友可以参考下
    2023-06-06
  • 关于TreeMap自定义排序规则的两种方式

    关于TreeMap自定义排序规则的两种方式

    这篇文章主要介绍了关于TreeMap自定义排序规则的两种方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • mybatis中oracle实现分页效果实例代码

    mybatis中oracle实现分页效果实例代码

    实现分页的方式有很多,但常用的是通过SQL来显示分页。这篇文章主要介绍了mybatis中oracle实现分页效果实例代码,有兴趣的可以了解一下。
    2017-04-04
  • Java 详解如何获取网络接口信息

    Java 详解如何获取网络接口信息

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实践中才能获得能力的提升,本篇文章手把手带你用Java获取网络接口的信息,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • SpringBoot2 集成log4j2日志框架的实现

    SpringBoot2 集成log4j2日志框架的实现

    这篇文章主要介绍了SpringBoot2 集成log4j2日志框架的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Java接口RandomAccess全面了解

    Java接口RandomAccess全面了解

    下面小编就为大家带来一篇Java接口RandomAccess全面了解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • java判断域名无法访问自行访问下一条

    java判断域名无法访问自行访问下一条

    这篇文章主要为大家介绍了java实现判断域名无法访问的时候自行访问下一条域名示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • SpringCloud通过Nacos实现注册中心与远程服务调用详解流程

    SpringCloud通过Nacos实现注册中心与远程服务调用详解流程

    如果不满足eureka注册中心,那么本文记录的Nacos是不二之选。本文主要记录Springboot基于Nacos实现注册中心以及远程服务调用
    2022-07-07
  • JVM 方法调用之静态分派(详解)

    JVM 方法调用之静态分派(详解)

    下面小编就为大家带来一篇JVM 方法调用之静态分派(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair 解决方法总结

    javax.net.ssl.SSLException: java.lang.RuntimeException: Coul

    这篇文章主要介绍了javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair 解决方法,有需要的朋友们可以学习下。
    2019-08-08

最新评论