JAVA8的双重循环怎么优化_Java8处理List的双层循环问题代码实例
本篇文章小编给大家分享一下Java8处理List的双层循环问题代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
Java处理List的双层循环程序员经常遇到,一般都是当两个List某个值满足某条件时候,进行相应的处理;
1.list和map之间的相互转换
/**
* 两个List对象当id相同的时候(注意是两个对象,而非两个集合)
* @param husbands
* @param wives
*/
private static void test8(Listhusbands, Listwives) {
Listfamilies = Lists.newArrayList();
//将wives转换为map,这里的key一定要唯一,即为familyId
MapwifeMap = wives.stream().collect(toMap(w -> w.getFamilyId(), w -> w));
families = husbands.stream().map(husband -> {
Family family = new Family();
Wife wife = wifeMap.get(husband.getFamilyId());
family.setFamilyId(wife.getFamilyId());
family.setHusbandName(husband.getHusbandName());
family.setWifeName(husband.getWifename());
return family;
}).collect(Collectors.toList());
}
2.java8中的
groupingBy
counting
mapToDouble
filter
sum等函数方法的使用
//苹果颜色对应的数量
Mapcollect = appleVos.stream().collect(groupingBy(AppleVo::getColor, counting()));
// 过滤掉颜色为黑色的苹果,并汇总好苹果的总金额
Double sum = appleVos.stream().filter(i -> "black".equals(i.getColor())).mapToDouble(AppleVo::getPrice).sum();
JAVA8的双重循环怎么优化_Java8处理List的双层循环问题代码实例相关推荐
- JAVA8的双重循环怎么优化_Java8处理List的双层循环问题
Java处理List的双层循环程序员经常遇到,一般都是当两个List某个值满足某条件时候,进行相应的处理: 1.list和map之间的相互转换 /** * 两个List对象当id相同的时候(注意是两个 ...
- MATLAB灰狼优化算法求解超市物流配送中心选址问题代码实例
MATLAB灰狼算法求解超市物流配送选址问题实例 作者:麦哥 MATLAB灰狼优化算法求解超市物流配送中心选址问题代码实例 灰狼算法编程问题实例: 在范围为(0,0)到(100,100)的矩形区域内, ...
- python 循环播放音乐_基于python实现音乐播放器代码实例
核心播放模块(pygame内核) import time import pygame import easygui as gui file = r'D:\CloudMusic\G.E.M.邓紫棋,艾热 ...
- android 对for循环进行优化
今天,简单讲讲如何对for循环进行优化. 完成同样的功能,用不同的代码来实现,性能上可能会有比较大的差别,所以对于一些性能敏感的模块来说,对代码进行一定的优化还是很有必要. 作为三大结构之一的循环,在 ...
- c语言中循环结构的作用,C语言中对于循环结构优化的一些入门级方法简介
一.代码移动 将在循环里面多次计算,但是结果不会改变的计算,移到循环外面去. 例子: 优化前: void lower1(char *s){ int i; for(i=0;i if(s[i]>=' ...
- for循环优化_昨天还在for循环里写加号拼接字符串的那个同事,今天已经不在了
引言 都说 StringBuilder 在处理字符串拼接上效率要强于 String,但有时候我们的理解可能会存在一定的偏差.最近我在测试数据导入效率的时候就发现我以前对 StringBuilder 的 ...
- python夯实基础日记-for循环、优化技巧、函数
057.for循环结构_遍历各种可迭代对象_range对象 for循环 通常用于可迭代对象的遍历,for循环的语法格式如下: for 变量 in 可迭代对象: 循环体语句 Python中的可迭代对象: ...
- java8双层for循环,Java8处理List的双层循环问题
Java处理List的双层循环程序员经常遇到,一般都是当两个List某个值满足某条件时候,进行相应的处理: 1.list和map之间的相互转换 /** * 两个List对象当id相同的时候(注意是两个 ...
- MeterSphere使用参数列表与ForEach循环组合优化接口自动化测试
MeterSphere使用参数列表与ForEach循环组合优化接口自动化测试 1.概述 在做接口自动化测试过程中,如果该创建是一个接口根据传入的参数不同循环执行完成业务测试,如果觉得使用CSV文件,需 ...
最新文章
- C语言解析pcap文件得到HTTP信息实例(原创,附源码)
- element 修改表单值后表单验证无效_javascript自学记录:表单脚本1
- 一款小巧好用的MAC地址扫描器
- 单片机烧录软件编写_单片机技术系列之一:单片机概述
- C++: int int int * int**的区别、联系和用途
- 【转】c# 操作webservice(经典入门教程+MSDN必胜)(有自己修改的部分)
- Java多线程学习(八)线程池与Executor 框架
- jdbc操作mysql延时操作_关于jdbc通过Statement和PrepareStatement进行数据库批处理操作,以提供程序效率...
- 阿里测试人员:8年经验分享自学软件测试学习路线
- baacloud苹果_baacloud官网下载
- Javascript函数作为参数——JS学习笔记
- 银河麒麟v10下载(服务器版 桌面版) - 2022-09-08更新
- IDEA 创建工作空间 (空项目) 项目组
- 简单说一下寄存器寻址
- Video Caption Tutorial
- 易基因 | 表观技术:单细胞及微量细胞全基因组重亚硫酸盐甲基化测序(scWGBS)
- lol封号维护服务器,LOL玩家被封三年执着理论,腾讯客服是这样回复的
- SpringMVC配置中遇到的惊(keng)喜
- 扫 雷 小 游 戏
- WinPE环境下WinNTSetup使用说明(WIM_ESD系统如何安装)