1. 集合遍历

List<String> list = Arrays.asList("苹果","梨","橘子");
// 简单使用遍历
list.stream().forEach(v->{System.out.println(v);
});

2. 去重

List<String> list = Arrays.asList("苹果","梨","橘子","苹果");// 去重使用
List<String> newlist = list.stream().distinct().collect(Collectors.toList());
newlist.stream().forEach(v->{System.out.println(v);
});结果打印苹果
梨
橘子

3.   分组

 List<Map<String, Object>>  objList = new ArrayList<>();Map<String, Object> map = new HashMap<>();map.put("name", "张三");map.put("age", 15);map.put("sex", "男");objList.add(map);Map<String, Object> map1 = new HashMap<>();map1.put("name", "李四");map1.put("age", 10);map1.put("sex", "男");objList.add(map1);Map<String, Object> map2 = new HashMap<>();map2.put("name", "王丽");map2.put("age", 16);map2.put("sex", "女");objList.add(map2);// 分组Map<String, List<Map<String, Object>>>  groupByData= objList.stream().collect(Collectors.groupingBy(doc -> doc.get("sex").toString()));// 输出groupByData.forEach((k, v) -> System.out.println("key: " + k + " value:" + v));// 结果key: 女 value:[{sex=女, name=王丽, age=16}]key: 男 value:[{sex=男, name=张三, age=15}, {sex=男, name=李四, age=10}]

4. 求和

 int sumAge = objList.stream().mapToInt(doc-> Integer.parseInt(doc.get("age").toString())).sum();System.out.println("总计:"+sumAge);

5.  平均值

 double  avgAge = objList.stream().mapToInt(doc-> Integer.parseInt(doc.get("age").toString())).average().getAsDouble();System.out.println("平均值:"+avgAge);

慢慢长路~~~开启码农博客之路

JDK1.8 关于list集合Lambda的使用相关推荐

  1. 万字详解,JDK1.8新特性的Lambda、Stream和日期的使用详解

    前言 Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本. Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScr ...

  2. 集合 Lambda表达式 详解

    #  集合  Lambda表达式 语言: 适合做服务器开发:JAVA .net pht c++  c# asp golang python- 前端:ios android H5 jsp- 数据库:my ...

  3. JDK1.8新特性之Lambda表达式+Stream流+函数式接口

    一.Lambda表达式 Lambda表达式,是JDK1.8引入的一种语法,这种语法可以对匿名内部类的写法,进行简写. 1.快速入门 package org.westos.demo2;import ja ...

  4. Jdk1.8新特性(二)——lambda表达式(参数列表)-{}和函数式接口@FunctionalInterface

    Jdk1.8新增lambda表达式是为了简化代码,主要用于简化匿名实现类,为其提供一种更加简洁的写法.Lambda表达式在swift语言中被称为代码块,lambda表达式可以认为是一种特殊的接口,是匿 ...

  5. jdk1.8新特性之lambda表达式及在Android Studio中的使用举例

    Jdk1.8已经出很久了但是很多同学对它的特性在android studio 中的应用可能还不是很熟悉,今天我们就来对这个新特性在AS中做它的应用实践. 一.首先在有JDK1.8的情况下我们要在AS的 ...

  6. java 获取集合对象中某个属性不为空的数据集合 lambda获取【拉姆达表达式 】

    首先我创建了一个测试的类. 这个随意哈. public class Person {private String name;private String age;private Integer id; ...

  7. JDK1.8新特性:lambda表达式

    一.类定义 package com.xxx;import java.math.BigDecimal;public class Student {private String name;private ...

  8. jdk1.8新特性之Lambda表达式

    Java8的两个重大改变,一个是Lambda表达式,另一个就是Stream API表达式.Stream 是Java8中处理集合的关键抽象概念,它可以对集合进行非常复杂的查找.过滤.筛选等操作,在新版的 ...

  9. 三、jdk1.8新特新Lambda表达式方法引用

    前言 在之前我们接触了JDK1.8引入的新特新lambda表达式没在某种程度上,它可以简化我们的代码,帮助我们快速的编写代码,但在这其中我们之前的编写方式并不是lambda表达式最简洁的方式,而在头屑 ...

最新文章

  1. hdu 3064
  2. 最大熵的Java实现
  3. java nio epoll_Java NIO 选择器(Selector)的内部实现(poll epoll)
  4. java 插件开发 互相依赖_java – Eclipse插件开发:有没有办法控制有关我的插件缺少依赖项的安装程序消息?...
  5. shiro学习(1):shiro简介
  6. C#设计模式之0-简单工厂模式
  7. 基于FPGA实现Aurora高速串行接口
  8. JSR-330 依赖注入
  9. FusionCharts 学习总结
  10. Java学习-设计模式-单例模式
  11. 卡方 python_用Python进行卡方分析
  12. Thinkpad E450c开启Intel virtual technology
  13. 月薪过万必会的:双亲委托模型
  14. Ajax获取服务器端响应数据的两种方式
  15. 国外数据平台统计分析sdk
  16. java的位桶是什么,hashmap中的存储桶究竟是什么?
  17. RT-Thread I/O设备模型及驱动框架解析(一)
  18. matlab 两行输出,设计一个c++程序输出两行*中间夹着hello
  19. SIM卡的结构和类型
  20. CI框架的使用-原生SQL和ORM模式操作数据库、视图

热门文章

  1. CF1287B CF567C
  2. Lacking counting POJ.NO 2386
  3. 百度地图清除指定覆盖物
  4. 高尔顿钉板实验是二项分布吗?
  5. python delphi 比较_Python4Delphi注意事项
  6. antdesign 柱状图_010-ant design pro advanced 图表
  7. 计算机网络题库——第3章数据链路层
  8. SVN添加账户及删除MyEclipse中记住的SVN账户名密码信息
  9. ES中如何实现随机抽样查询
  10. 儿童智能定位鞋方案/案列/APP/小程序/网站