stream求集合元素的属性值最值
Person p1 = new Person("张三", new BigDecimal("10.0"));
Person p2 = new Person("李四", new BigDecimal("30.0"));
Person p3 = new Person("王五", new BigDecimal("40.0"));
Person p4 = new Person("赵六", new BigDecimal("10.0"));
Person p5 = new Person("马七", new BigDecimal("40.0"));
List<Person> list = new ArrayList<>();
list.add(p1);
list.add(p2);
list.add(p3);
list.add(p4);
list.add(p5);
// 最小值
Optional<BigDecimal> result = list.stream().map(Person::getSalary).min(BigDecimal::compareTo);
// 最大值
// Optional<BigDecimal> result = list.stream().map(Person::getSalary).max(BigDecimal::compareTo);
/**
* compareTo
* int a = bigdemical.compareTo(bigdemical2)
* a = -1,表示bigdemical小于bigdemical2;
* a = 0,表示bigdemical等于bigdemical2;
* a = 1,表示bigdemical大于bigdemical2;
*/
List<Person> collect = list.stream().filter(item -> item.getSalary().compareTo(result.get())==0).collect(Collectors.toList());
System.out.println("获取元素最小值:" + collect);
打印结果:
获取元素最小值:[{name='张三', salary=10.0}, {name='赵六', salary=10.0}]
获取元素最大值:[{name='王五', salary=40.0}, {name='马七', salary=40.0}]
stream求集合元素的属性值最值的更多相关文章
- 【转载】 C#使用Select方法快速获取List集合集合中某个属性的所有值集合
在C#的List集合操作或者数组操作中,有时候我们需要获取到List集合元素中所有的对象的某个属性,然后存放到一个数组集合中,此时就可以使用到List集合以及数组的扩展方法Select方法快速实现获取 ...
- 求集合中选一个数与当前值进行位运算的max
求集合中选一个数与当前值进行位运算的max 这是一个听来的神仙东西. 先确定一下值域把,大概\(2^{16}\),再大点也可以,但是这里就只是写写,所以无所谓啦. 我们先看看如果暴力求怎么做,位运算需 ...
- Java依据集合元素的属性,集合相减
两种方法:1.集合相减可以使用阿帕奇的一个ListUtils.subtract(list1,list2)方法,这种方法实现必须重写集合中对象的属性的hashCode和equals方法,集合相减判断的会 ...
- C# 如何批量修改集合元素的属性值?
我们往往会遇到要批量修改集合中元素的值,最笨的办法就是foreach循环,但本文介绍几种优雅的方法. 首先,我们准备好元素类和初始集合: 下面就是几种方法,目前并没有对性能做进一步的测试,有兴趣的童鞋 ...
- BC68(HD5606) 并查集+求集合元素
tree Accepts: 143 Submissions: 807 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65 ...
- 使用filter方法过滤集合元素
文章转自https://my.oschina.net/nenusoul/blog/658238 Problem 你想要筛选出集合中的一些元素形成一个新的集合,这些元素都是满足你的筛选条件的. Solu ...
- spring:为javabean的集合对象注入属性值
spring:为JavaBean的集合对象注入属性值 在 spring 中可以对List.Set.Map 等集合进行配置,不过根据集合类型的不同,需要使用不同的标签配置对应相应的集合. 1.创建 Ts ...
- tween.js是一款可生成平滑动画效果的js动画库。tween.js允许你以平滑的方式修改元素的属性值。它可以通过设置生成各种类似CSS3的动画效果。
简要教程 tween.js是一款可生成平滑动画效果的js动画库.相关的动画库插件还有:snabbt.js 强大的jQuery动画库插件和Tweene-超级强大的jQuery动画代理插件. tween. ...
- dom4j修改,获取,增加xml中某个元素的属性值
XML文件: <?xml version="1.0" encoding="UTF-8"?> <vrvscript> <item I ...
随机推荐
- spring AOP 编程--AspectJ注解方式 (4)
1. AOP 简介 AOP(Aspect-Oriented Programming, 面向切面编程): 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, ...
- 简单搭建dubbo
为什么要用dubbo? 当网站规模达到了一定的量级的时候,普通的MVC框架已经不能满足我们的需求,于是分布式的服务框架和流动式的架构就凸显出来了. 单一应用架构 当网站流量很小时,只需一个应用 ...
- CDN与智能DNS原理和应用
1.cdn概念,DNS概念 CDN:Centent Delivery Network(内容分发网络) 使用户可以就近取得所需内容,提高用户访问网站相应速度 CDN=更智能的镜像+缓存+流量导流: DN ...
- SPSS输出结果统计表与统计图的专业性编辑及三线表定制格式
SPSS输出结果统计表与统计图的专业性编辑及三线表定制格式 世界前三统计软件,SPSS最容易学习,但SPSS默认输出的统计表与统计图美观度与专业度不够好,离发表水平尚有距离,本期咱们就谈谈SPSS图表 ...
- 项目无法依赖Springboot打出的jar
1.原因 因为springboot-maven-plugin打包的第一级目录为Boot-INF,无法引用 2.解决 不能使用springboot项目自带的打包插件进行打包 <build> ...
- 11-4-while和dowhile
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ES6之主要知识点(七)对象
1.属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法.这样的书写更加简洁. function f(x, y) { return {x, y}; } // 等同于 function ...
- VC文件操作
VC文件操作 重命名文件: 注意: 该操作对文件夹一样有效! CFileFind Finder; CString sOldPath = _T("D:\\tt.txt"); CStr ...
- MyEclipse设置 web访问根路径
使用鼠标右键点击项目(点击属性properties)进入如下图:
- [NOI2003]逃学的小孩【观察+树的直径】
Online Judge:Bzoj1509,Luogu P4408 Label:观察,树的直径 题目描述 输入 第一行是两个整数N(\(3≤N≤200000\))和M,分别表示居住点总数和街道总数.以 ...