jdk8的stream新特性写法

1、集合A判断是否包含集合B里面的元素,并且把包含元素放到一个新集合里面

List<TagBean> tagBean = tagBeans.stream().filter(adminMo.getTagList()::contains).collect(toList());

2、把subListByChildId里面的subId作为key,本身对象ChannelSubMo作为value

List<ChannelSubMo> subListByChildId;
Map<String, ChannelSubMo> subMoMap =  subListByChildId.stream().collect(Collectors.toMap(ChannelSubMo::getSubId, channelSubMo -> channelSubMo));

3、把集合里面对象的某个字段转成List

List<String> ageList = list.stream().map(Person::getAge).collect(Collectors.toList());

4、根据集合对象里面的某个字段分组

List<SvOrderInputVo> excelVos;
Map<Integer,List<SvOrderInputVo>>  map = excelVos.stream().collect(Collectors.groupingBy(SvOrderInputVo::getSvOrderThirdStatus));

5、根据map里面的key获取value值,把value值去重并放到一个新的集合里面

Map<Integer,List<SvOrderInputVo>>  map;
List<String> svOrderIdList = map.get(svOrderThirdStatus).stream().map(SvOrderInputVo::getSvOrderId).distinct().collect(Collectors.toList());

6、key是分配客户的数量(根据thisWeekNum分组),value是分配客户数量的顾问id集合(需要去重)

List<DacMatchAgentWeightMo> totalList;
Map<Integer, Long> weekMap = totalList.stream().filter(mo -> saleArea.equals(mo.getSaleArea())).collect(Collectors.groupingBy(DacMatchAgentWeightMo::getThisWeekNum, Collectors.mapping(DacMatchAgentWeightMo::getAgentId, Collectors.toList())));

7、判断map里面key>0的数据并把value加和

Map<Integer, List<String>> map;
List<String> alreadyMatchList = map.entrySet().stream().filter(entry -> entry.getKey() > 0).flatMap(entry -> entry.getValue().stream()).collect(Collectors.toList());

8、循环map里面的key,把key和value(也就是list.size)相乘,然后把所有的值sum起来

Map<Integer, List<String>> map;
int totalWeekNum = map.entrySet().stream().mapToInt(entry -> entry.getKey() * entry.getValue().size()).sum();

9、低于某个值的数据加和

Map<Integer, Long> weekMap;
long lessAverageNumWeek = weekMap.values().stream().filter(value -> value < 3).mapToLong(value -> value).sum();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756637.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【高效开发工具系列】语雀Excel入门

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

富格林:亏损总结正规经验预防

富格林悉知&#xff0c;在现货黄金投资中亏损是投资者最不愿意看到的&#xff0c;想要避免亏损&#xff0c;在进入市场之前应该做好基础知识的学习&#xff0c;对亏损案例进行分析深剖其中的规律和特征&#xff0c;从而运用正规的学习方法经验规避风险。以下总结几点正规的做单…

前端项目,个人笔记(三)【Vue-cli - api封装-axios使用举例】

目录 前言 1、axios配置与测试 1.1、配置 1.2、测试 2、使用axios案例-渲染header 3、Pinia优化重复请求 3.1、为什么&#xff1f; 3.2、使用Pinia优化代码步骤 步骤一&#xff1a;在main.js中创建 Pinia 实例&#xff0c;并将其作为插件添加到 Vue 应用中 步骤二&am…

3703. 括号的匹配 北京师范大学考研上机真题 栈的思想

在算术表达式中&#xff0c;除了加、减、乘、除等运算外&#xff0c;往往还有括号。 包括有大括号 {}&#xff0c;中括号 []&#xff0c;小括号 ()&#xff0c;尖括号 <> 等。 对于每一对括号&#xff0c;必须先左边括号&#xff0c;然后右边括号&#xff1b;如果有多个…

2024年数据隐私将成为定义科技问题的关键问题。

数据隐私&#xff1a;2024年科技领域的核心议题 引言 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;如ChatGPT等AI驱动的聊天机器人正在重塑我们熟知的行业。然而&#xff0c;每一次技术的进步&#xff0c;都伴随着传统角色的消逝。2023年6月&#xff0…

初识数据库|数据库的特点、分类以及作用

数据库系统&#xff08;DateBase System&#xff0c;简称DBS&#xff09;是指在计算机系统中引入数据库后的系统构成&#xff0c;由计算机硬件&#xff0c;操作系统&#xff0c;DBMS&#xff0c;DB&#xff0c;应用程序和用户以及数据库开发和管理人员等组成。 &#xff08;一…

C#基础语法学习笔记(传智播客学习)

最近在学习C#开发知识&#xff0c;跟着传智播客的视频学习了一下&#xff0c;感觉还不错&#xff0c;整理一下学习笔记。 C#基础语法学习笔记 1.背景知识2.Visual Studio使用3.基础知识4.变量5.运算符与表达式6.程序调试7.判断结构8.循环结构9.常量、枚举类型10.结构体类型11.数…

[BT]BUUCTF刷题第一天(3.19)

第一天&#xff08;共4题&#xff09; Web [极客大挑战 2019]EasySQL Payload&#xff1a; 用户名&#xff1a;admin or 11# &#xff08;密码也可以改成这个&#xff09; 密码&#xff1a;1&#xff08;可任意&#xff09; 网站漏洞代码&#xff1a; sql"select *…

Android和IOS Flutter应用开发使用 Provider.of 时,可以使用 listen: false 来避免不必要的重建

文章目录 listen: false解释示例 listen: false 使用 Provider.of 时&#xff0c;可以使用 listen: false 来避免不必要的重建 解释 当您使用 Provider.of 获取状态对象时&#xff0c;默认情况下&#xff0c;该对象每次发生变化时都会触发重建该对象所在的组件。这在大多数情…

云平台一键迁移(腾讯云windos服务器迁移到阿里云windos服务器)

参考文档 https://help.aliyun.com/zh/smc/use-cases/one-click-cloud-platform-migration 迁移文档 https://cloud.tencent.com/document/product/598/37140 #腾讯密钥创建 https://cloud.tencent.com/document/product/1340/51945 安装腾讯云自动化服务助手 一.导入迁移…

adb的使用(安装apk和传输文件)

adb命令安装apk包 先传apk adb pull /tmp/app-test.apk /data/local/tmp/ 指定文件安装 adb install apk路径 adb命令传输文件 1.从手机端将文件传输到电脑 1&#xff09;在电脑端打开文件将要存储的路径&#xff0c;按住shift键右击&#xff0c;选择“在此处打开命令窗口…

GitHub gpg体验

文档 实践 生成新 GPG 密钥 gpg --full-generate-key查看本地GPG列表 gpg --list-keys关联GPG公钥与Github账户 gpg --armor --export {key_id}GPG私钥对Git commit进行签名 git config --local user.signingkey {key_id} # git config --global user.signingkey {key_id} git…

JVM常用垃圾收集器

JVM 4.1 哪些对象可以作为GC ROOT? 虚拟机栈&#xff08;栈帧中的局部变量表&#xff09;中引用的对象本地方法栈中引用的对象方法区静态变量引用的对象方法区常量引用的对象被同步锁持有的对象JNI&#xff08;Java Native Interface&#xff09;引用的对象 4.2 常用垃圾收集…

计算机二级(Python)真题讲解每日一题:《方菱形》

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬ 请写代码替换横线&#xff0…

golang踩坑记录

1. server gave HTTP response to HTTPS client 出现场景&#xff0c;http包get请求https的 原代码 response, err : http.Get(fmt.Sprintf("https://%v/api/user/secret/?name%v&password%v", djang_ip, username, password))修改后 有地方说go的版本问题&…

accessToken

1、介绍 accessToken&#xff0c;通常是用于身份验证和授权的令牌,它可以用于前端和后端&#xff0c;具体使用方式取决于应用程序的架构和需求。 前端应用 accessToken通常用于向后端API发送请求时进行身份验证和授权。 &#xff08;1&#xff09;前端应用程序会在用户登录成…

boost的ptree比qt的接口更适合读写xml,因为它舍弃了结点属性,里面只有根节点和子节点,显得更简洁

就6个接口&#xff1a; 写xml文件 boost::property_tree::ptree 动物园; add<std::string>("名字", "苹果"); add_chile("水果类型",水果);// 读取 XML 文件 boost::property_tree::read_xml("example.xml", pt); get_child()&…

描述我处理过的一个性能优化问题如何实现Web应用的负载均衡?

一、描述我处理过的一个性能优化问题 在我过去的工作经历中&#xff0c;我遇到并成功解决了一个性能优化问题。这个问题发生在一个电商网站的后台管理系统中&#xff0c;当管理员尝试查询大量订单数据时&#xff0c;系统的响应速度非常慢&#xff0c;有时甚至导致页面超时或崩…

SpringCloud入门(1) Eureka Ribbon Nacos

这里写目录标题 认识微服务SpringCloud 服务拆分和远程调用服务拆分案例实现远程调用 RestTemplate Eureka注册中心Eureka的结构和作用搭建eureka-server服务注册服务发现 Ribbon负载均衡 LoadBalancedLoadBalancerIntercepor源码解析负载均衡策略饥饿加载 Nacos注册中心安装与…

不同环境迁移和hive等不同数据源迁移数据到Doris的解决方案

1、Doris不同开发环境迁移 在项目开发时,需要开发环境、测试环境、uat环境、预生产环境、生产环境。常常遇到这样的场景:需要把某个环境的所有表结构和数据都迁移到某个环境。手动去操作是耗时耗力的,这时需要通过代码或工具来高效执行。 1.1 使用代码进行迁移表结构 /***…