list集合之流操作
1、根据某一个实体字段进行去重(分组)操作
List<Object> list = objectList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Object::getId))), ArrayList::new));
2、实体机和获取某一字段的合集
List<Long> ids= objectList.stream().map(Object::getId).collect(Collectors.toList());
3、实体集合中的某一字段进行相加
BigDecimal addResut= objectList.stream().map(Object::getBigDecimal).reduce(BigDecimal.ZERO, BigDecimal::add);
//两束相减同理只需要修改add为subtract,那样我们就能得到加减乘除这些运算
BigDecimal subtract= objectList.stream().map(Object::getBigDecimal).reduce(BigDecimal.ZERO, BigDecimal::subtract);
list集合之流操作的更多相关文章
- map集合修改其中元素 去除Map集合中所有具有相同值的元素 Properties长久保存的流操作 两种用map记录单词或字母个数的方法
package com.swift.lianxi; import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...
- 初探Lambda表达式/Java多核编程【1】从集合到流
从集合到流 接上一小节初探Lambda表达式/Java多核编程[0]从外部迭代到内部迭代,本小节将着手使用"流"这一概念进行"迭代"操作. 首先何为" ...
- Python【第二课】 字符串,列表,字典,集合,文件操作
本篇内容 字符串操作 列表,元组操作 字典操作 集合操作 文件操作 其他 1.字符串操作 1.1 字符串定义 特性:不可修改 字符串是 Python 中最常用的数据类型.我们可以使用引号('或&quo ...
- Java 8-Lambda表达式、方法引用、标准函数接口与流操作、管道操作之间的关系
1.Lambda表达式与接口之间的关系 只要Lambda表达式的声明形式与接口相一致,在很多情况下都可以替换接口.见如下代码 Thread t1 = new Thread(new Runnable() ...
- 【java多线程】java8的流操作api和fork/join框架
原文:https://blog.csdn.net/u011001723/article/details/52794455/ 一.测试一个案例,说明java8的流操作是并行操作 1.代码 package ...
- IO流操作详解
注:FileReader继承InputStreamReader类,InputStreamReader实现Reader接口,其他同理. 对于文件内容的操作主要分为两大类 分别是: 字符流 字节流 其中, ...
- 初探java流操作
在处理集合时,我们通常会迭代遍历它的元素,并从每个元素上执行某项操作.例如,假设我们想要对某本书中的所有长单词进行计数.首先我们要将所有单词放入一个列表中: String contents = new ...
- IO流的Properties集合,序列化流与反序列化流,打印流及commons-IO
内容介绍 Properties集合 序列化流与反序列化流 打印流 commons-IO Properties类 Properties类介绍 Properties 类表示了一个持久的属性集.Proper ...
- Java8中的流操作-基本使用&性能测试
为获得更好的阅读体验,请访问原文:传送门 一.流(Stream)简介 流是 Java8 中 API 的新成员,它允许你以声明式的方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现).这有点儿 ...
- 还看不懂同事的代码?超强的 Stream 流操作姿势还不学习一下
Java 8 新特性系列文章索引. Jdk14都要出了,还不能使用 Optional优雅的处理空指针? Jdk14 都要出了,Jdk8 的时间处理姿势还不了解一下? 还看不懂同事的代码?Lambda ...
随机推荐
- .Net开发的系统安装或更新时如何避免覆盖用户自定义的配置
我们开发的系统,有时候会包含一些配置信息,需要用户在系统安装后自己去设置,例如我们有一个GPExSettings.xml文件,内容如下. <GPExSettings ArcPythonPath= ...
- 基于 VScode 搭建 Verilog 自动格式化
插件 Verilog-HDL/SystemVerilog/Bluespec SystemVerilog SystemVerilog and Verilog Formatter 工具 https://g ...
- 图文并茂记录下重新配置Win10系统Flutter环境--内含Android Studio 下载安装教程
Flutter 是什么 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面和嵌入式平台.Flutter 开源.免费,拥 ...
- Springboot跨域配置的坑
部分时间需要加上crossOrigin
- 系列化和反序列化的概述-对象的序列化_Object Output Stream类
系列化和反序列化的概述 Java提供了一种对象序列化的机制.用一个字节序列可以表示一个对象,该字节序列包含该对象的数据对象的类型和对象中存储的属性等信息.字节序列写出到文件之后,相当于文件中持久保存了 ...
- 【分析笔记】展讯 RDA8810PL 平台 Camera 驱动分析和移植(Android 4.4 )
前言概述 因以下原因,导致不得不通过代码分析来学习如何在该平台下进行摄像头驱动移植 香橙派开发商(迅龙软件)仅提供能跑起来的源代码.固件,以及简单的编译文档,不提供其它技术支持 baidu.googl ...
- 关于xlrd最新版本不支持.xlsx文件的解决办法
#卸载已安装的 pip uninstall xlrd #下载对应的版本 pip install xlrd==1.2.0 #卸载已安装的pip uninstall xlrd #下载对应的版本pip in ...
- CentOS即将停止维护,拥抱阿里“龙蜥“(Anolis OS),VMware安装Anolis OS与介绍
一.前言 大家在自己电脑来进行服务器的一些操作时,基本都是使用CentOS 7或者是CentOS 8,但是2021年底CentOS 8宣布停止了维护:CentOS 7 在2024年6月30日也会停止维 ...
- The Missing Semester - 第二讲 学习笔记
第二讲 Shell 工具和脚本 课程视频地址: https://www.bilibili.com/video/BV1Vv411v7FR 本机学习使用平台:虚拟机ubuntu18.04.6 主题一:Sh ...
- Python核对遥感影像批量下载情况的方法
本文介绍批量下载遥感影像时,利用Python实现已下载影像文件的核对,并自动生成未下载影像的下载链接列表的方法. 批量下载大量遥感影像数据对于GIS学生与从业人员可谓十分常见.然而,对于动辄成 ...