JDK1.8 关于list集合Lambda的使用
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的使用相关推荐
- 万字详解,JDK1.8新特性的Lambda、Stream和日期的使用详解
前言 Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本. Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScr ...
- 集合 Lambda表达式 详解
# 集合 Lambda表达式 语言: 适合做服务器开发:JAVA .net pht c++ c# asp golang python- 前端:ios android H5 jsp- 数据库:my ...
- JDK1.8新特性之Lambda表达式+Stream流+函数式接口
一.Lambda表达式 Lambda表达式,是JDK1.8引入的一种语法,这种语法可以对匿名内部类的写法,进行简写. 1.快速入门 package org.westos.demo2;import ja ...
- Jdk1.8新特性(二)——lambda表达式(参数列表)-{}和函数式接口@FunctionalInterface
Jdk1.8新增lambda表达式是为了简化代码,主要用于简化匿名实现类,为其提供一种更加简洁的写法.Lambda表达式在swift语言中被称为代码块,lambda表达式可以认为是一种特殊的接口,是匿 ...
- jdk1.8新特性之lambda表达式及在Android Studio中的使用举例
Jdk1.8已经出很久了但是很多同学对它的特性在android studio 中的应用可能还不是很熟悉,今天我们就来对这个新特性在AS中做它的应用实践. 一.首先在有JDK1.8的情况下我们要在AS的 ...
- java 获取集合对象中某个属性不为空的数据集合 lambda获取【拉姆达表达式 】
首先我创建了一个测试的类. 这个随意哈. public class Person {private String name;private String age;private Integer id; ...
- JDK1.8新特性:lambda表达式
一.类定义 package com.xxx;import java.math.BigDecimal;public class Student {private String name;private ...
- jdk1.8新特性之Lambda表达式
Java8的两个重大改变,一个是Lambda表达式,另一个就是Stream API表达式.Stream 是Java8中处理集合的关键抽象概念,它可以对集合进行非常复杂的查找.过滤.筛选等操作,在新版的 ...
- 三、jdk1.8新特新Lambda表达式方法引用
前言 在之前我们接触了JDK1.8引入的新特新lambda表达式没在某种程度上,它可以简化我们的代码,帮助我们快速的编写代码,但在这其中我们之前的编写方式并不是lambda表达式最简洁的方式,而在头屑 ...
最新文章
- hdu 3064
- 最大熵的Java实现
- java nio epoll_Java NIO 选择器(Selector)的内部实现(poll epoll)
- java 插件开发 互相依赖_java – Eclipse插件开发:有没有办法控制有关我的插件缺少依赖项的安装程序消息?...
- shiro学习(1):shiro简介
- C#设计模式之0-简单工厂模式
- 基于FPGA实现Aurora高速串行接口
- JSR-330 依赖注入
- FusionCharts 学习总结
- Java学习-设计模式-单例模式
- 卡方 python_用Python进行卡方分析
- Thinkpad E450c开启Intel virtual technology
- 月薪过万必会的:双亲委托模型
- Ajax获取服务器端响应数据的两种方式
- 国外数据平台统计分析sdk
- java的位桶是什么,hashmap中的存储桶究竟是什么?
- RT-Thread I/O设备模型及驱动框架解析(一)
- matlab 两行输出,设计一个c++程序输出两行*中间夹着hello
- SIM卡的结构和类型
- CI框架的使用-原生SQL和ORM模式操作数据库、视图