一些常见的Java8 循环实例(筛选、基本函数使用,循环等)
1.java8 list集合按着某个字段分组后转map
Map<Integer, List<SopEntity>> sopIdListMap =sopEntities.stream().collect(Collectors.groupingBy(SopEntity::getId));
2.Java8 list集合去重(根据ID)
List<User> list = userList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(User::getUserId))), ArrayList::new));
3.Java8 list集合去除null值
List<user> result = list.stream().filter(item -> item.getUserId!=null).collect(Collectors.toList());
4.Java8 普通集合对象转map
Map<Long, VipEntity> vipMap = vipList.stream().collect(Collectors.toMap(VipEntity::getUserId, v -> v, (v1, v2) -> v1));
5.Java8 集合数据(可根据时间或年龄等)排序 升序或降序
dtoList.sort((m1, m2) -> m2.getPunchTime().compareTo(m1.getPunchTime()));list.stream().sorted(Comparator.comparing(ServicePlan::getCreateTime).reversed())
6.Java8 是否所有数据都满足某个条件
Boolean anyOldThan50 = pigs.stream().anyMatch(a -> a.getAge() > 50);//是否有1条age>50
Boolean allLittleThan50 = pigs.stream().allMatch(a -> a.getAge() < 50);//是否所有数据都满足age<50
Boolean noneLittleThan50 = pigs.stream().noneMatch(a -> a.getAge() < 50);//是否所有数据都不满足age<50
7.Java8 自带求和等函数
int sumAge = pigs.stream().mapToInt(Pig::getAge).sum();
int maxAge = pigs.stream().mapToInt(Pig::getAge).max().getAsInt();
int minAge = pigs.stream().mapToInt(Pig::getAge).min().getAsInt();
double avgAge = pigs.stream().mapToInt(Pig::getAge).average().getAsDouble();
8.Java8 list数据筛选、模糊
ist<MerchantManagementVo> result = resultList.stream().filter(item -> item.getManagerName()!=null &&item.getManagerName().contains((CharSequence) map.get("managerName"))).collect(Collectors.toList());
9.java8 两个list集合合并并去重(俩list必须一致)
List<String> list = Stream.of(list1, list2).flatMap(Collection::stream).distinct().collect(Collectors.toList());
10.java8 筛选出两个不同集合不同字段 的相同数据
userList = list.stream().filter(item -> !(voList.stream().map(e -> e.getName()).collect(Collectors.toList()).contains(item.getName()))).collect(Collectors.toList());
一些常见的Java8 循环实例(筛选、基本函数使用,循环等)相关推荐
- mysql loop循环实例_MySql CURSOR+LOOP循环-使用小实例
转载自https://blog.csdn.net/starinbrook/article/details/77078126 转载自https://blog.csdn.net/makang456/art ...
- python三层for循环_Python基础入门-For循环
For循环的功能比较强大,他可以帮助我们实现很多重复性的工作.而且for循环能迭代不同的数据结构.他的应用也十分的广泛,作为初学者,我们需要对循环的概念多加理解和练习.接下来我们就来学习for循环的一 ...
- codesys 串口通讯实例_常见的PLC程序实例,车库自动门的PLC控制!
点击箭头处"工业之家",选择"关注公众号"! PLC控制车库自动门实例 车库自动门控制 (1)明确系统控制要求 系统要求车库门在车辆进出时能自动打开关闭,车库门 ...
- mysql plsql循环语句吗,Oracle PLSQL 在游标中用while循环实例程序
Oracle PLSQL 在游标中用while循环实例程序 Oracle PLSQL 在游标中用while循环实例程序 Oracle PLSQL 在游标中用while循环实例程序 declare cu ...
- for each java_Java 实例 - for 和 foreach循环使用
Java 实例 - for 和 foreach循环使用 for 语句比较简单,用于循环数据. for循环执行的次数是在执行前就确定的.语法格式如下: for(初始化; 布尔表达式; 更新) { //代 ...
- python3速查参考- python基础 3 - - while循环实例 + Continue break的应用 + 列表的初步学习...
while语句的应用 实例如下: 1 """ 2 述求:用户登录系统,最多只能登录三次 3 第三次失败后,程序终止 4 5 """ 6 us ...
- shell中的while循环实例
shell中的while循环实例_wdz306ling的博客-CSDN博客_shell while 1.利用while循环计算1到100的和: 示例代码1: #!/bin/bash i=1 sum=0 ...
- [C语言] for循环详解 循环 for循环实例巧解
前言>>> 嘿嘿,本文要讲的小方法实例使用牛客网的这道题 ↑↑↑ .怎么样!!? ^ ^ 100% 到底是系统太假还是我写得好??? 开始>>> 题目:线段 ...
- php 两层便利的break,php break跳出多重循环实例
break是被用在上面所提的各种循环和switch语句中的.他的作用是跳出当前的语法结构,执行下面的语句.break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出 ...
最新文章
- redis之zskiplist
- 4次迭代!10w行级别数据的Excel导入优化记录
- Master Data Service调用API创建Model
- 初读设计模式-----《design pattern explained》读后感
- 0318互联网新闻 | Snapchat下月进军游戏平台;阿里巴巴将上线二哈智能防骚扰电话的应用程序...
- Tomcat startup.bat 原理分析
- c++11 chrono
- 【神经网络八股扩展】:自制数据集
- 一步步编写操作系统 78 intel汇编与ATT汇编语法区别
- Hadoop的Mapreduce中Mapper的key和Map的key的区别
- (转载)python调用shell命令之os 、commands、subprocess
- datetimepicker中文不生效_Python reStructuredText 帮助文件中文乱码
- ArcGIS 城市生活区用地适宜性评价(三)
- java读取串口设备信息_Java--串口之间的通信及扫描枪的读取
- 【论文阅读】2018-基于深度学习的网络流量分类及异常检测方法研究_王伟
- 解决Office 2010 每次打开word时出现配置进度框
- 围棋知名AI-KataGo 下载分享
- 使用Python,matplotlib绘制Nomogram列线图
- opencart插件之 Also Bought Products(购买该产品的用户也购买了)
- 武汉代茜2017级计算机科学与技术,毕业论文致谢拾贝(二)
热门文章
- 我爱计算机专业作文1000字,计算机人作文1000字
- java poi 读取 word图片_Java Poi 根据文字内容 插入 word 图片-Go语言中文社区
- Workflow 一切皆是Task
- 20211115 任意n阶方阵均与三角矩阵(上三角或者下三角)相似
- 威联通nas怎么更换大硬盘_更换NAS后,数据如何安全处理?聊聊NAS数据安全性那些事...
- 数分笔记整理7 - Pandas Pandas - DataFrame类型的对象 - 创建方式
- java毕业设计——基于java+Eclipse+jsp的网上手机销售系统设计与实现(毕业论文+程序源码)——网上手机销售系统
- 利用python将json数据转换为csv格式
- 转行游戏公司却无从下手,游戏美术设计这个岗位再不了解就晚了!
- 信息论的应用例子:数据压缩与信息熵、为什么K线这种技术指标没用了?