java8 List集合的排序,求和,取最大值,按照条件过滤
public class Java8Test {
public static void main(String[] args) { Person p1 = new Person("麻子", 31); Person p2 = new Person("李四", 20); Person p3 = new Person("王五", 26); List<Person> personList = new ArrayList<Person>(); personList.add(p1); personList.add(p2); personList.add(p3); //java8遍历 personList.forEach(p -> System.out.println(p.getAge())); //按照person的 age进行排序 //方法一 personList.sort((o1, o2) -> o1.getAge().compareTo(o2.getAge())); //正序 personList.sort((o1, o2) -> o2.getAge().compareTo(o1.getAge())); //倒序 //方法二 personList.sort(Comparator.comparing(Person::getAge)); // 正序 personList.sort(Comparator.comparing(Person::getAge).reversed()); // 倒序 //遍历 personList.forEach(p -> System.out.println(p.getAge())); System.out.println("========================================"); //获取年龄最大的Person Person maxAgePerson = personList.stream().max(Comparator.comparing(Person::getAge)).get(); System.out.println(maxAgePerson.getAge()); System.out.println("========================================"); //获取年龄最小的Person Person minAgePerson = personList.stream().min(Comparator.comparing(Person::getAge)).get(); System.out.println(minAgePerson.getAge()); //过滤出年龄是20的person,想过滤出什么条件的都可以 List<Person> personList1 = personList.stream().filter(person -> person.getAge() == 20).collect(Collectors.toList()); //统计出年龄等于20的个数 long count = personList.stream().filter(person -> person.getAge() == 20).count(); //获得年龄的平均值 double asDouble = personList.stream().mapToInt(person -> person.getAge()).average().getAsDouble(); //获得年龄的求和 int sum = personList.stream().mapToInt(person -> person.getAge()).sum(); }}java8 List集合的排序,求和,取最大值,按照条件过滤的更多相关文章
- 使用Java Stream,提取集合中的某一列/按条件过滤集合/求和/最大值/最小值/平均值
不得不说,使用Java Stream操作集合实在是太好用了,不过最近在观察生产环境错误日志时,发现偶尔会出现以下2个异常: java.lang.NullPointerException java.ut ...
- 在含有null值的复杂类的集合(Collection)中取最大值
在日常编程中,经常遇到要在一组复杂类的集合(Collection)中做比较.取最大值或最小值. 举个最简单的例子,我们要在一个如下结构的集合中选取包含最大值的元素: public class Clas ...
- [sql server、oracle] 分组取最大值最小值常用sql
sqlserver2005前: --分组取最大最小常用sql--测试环境if OBJECT_ID('tb') is not null drop table tb;gocreate table tb( ...
- 使用dataframe解决spark TopN问题:分组、排序、取TopN和join相关问题
package com.profile.mainimport org.apache.spark.sql.expressions.Windowimport org.apache.spark.sql.fu ...
- Mysql分片后分页排序拉取数据的方法
高并发大流量的互联网架构,一般通过服务层来访问数据库,随着数据量的增大,数据库需要进行水平切分,分库后将数据分布到不同的数据库实例(甚至物理机器)上,以达到降低数据量,增加实例数的扩容目的. 一旦涉及 ...
- wpf 导出Excel Wpf Button 样式 wpf简单进度条 List泛型集合对象排序 C#集合
wpf 导出Excel 1 private void Button_Click_1(object sender, RoutedEventArgs e) 2 { 3 4 ExportDataGrid ...
- poj 3349:Snowflake Snow Snowflakes(哈希查找,求和取余法+拉链法)
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 30529 Accep ...
- java练习题:解一元二次方程、判断闰年、判断标准身材、三个数取最大值
1.解一元二次方程 注:求根公式为(-b+根号德尔塔)/2a,(-b-根号德尔塔)/2a Scanner sc=new Scanner(System.in); System.out.println(& ...
- hoj3152-Dice 等比数列求和取模
http://acm.hit.edu.cn/hoj/problem/view?id=3152 Dice My Tags (Edit) Source : Time limit : sec Memory ...
随机推荐
- css3伪类和伪元素你都懂了吗
什么是伪类? 伪类用于定义元素的特殊状态. 例如,它可用于: 当用户将鼠标悬停在元素上时为其设置样式 访问和未访问的链接不同样式 在获得焦点时设置元素的样式 伪类的语法 后代选择器匹配作为指定元素后代 ...
- Spring Cloud Netflix之Eureka服务消费者
Eureka服务消费者介绍 Eureka服务消费者用于发现服务和消费服务,发现服务通过Eureka Client完成,消费服务通过Ribbon完成,以实现负载均衡.在实际项目中,一个服务往往同时是服务 ...
- python 环境配置的导入与导出
Python——配置环境的导出与导入 导出Python环境安装包[root@bogon ~]# pip freeze > packages.txt这将会创建一个 packages.txt文件 ...
- Codeforces Round #304 (Div. 2)(CF546D) Soldier and Number Game(线性筛)
题意 给你a,b(1<=b<=a<=5000000)表示a!/b!表示的数,你每次可以对这个数除以x(x>1且x为这个数的因子)使他变成a!/b!/x, 问你最多可以操作多少次 ...
- 02微信小程序-轮播的宽度100%显示和轮播的基础配置
1==>如何让轮播的宽度100%显示? 你先给swiper 外面添加一个大盒子,给大盒子一个类 . <view class='lunbobox'> 然后wxss 里面设置 image ...
- v8
V8 - 开源,由Google开发,用C ++编写 Rhin- 由Mozilla基金会开源,完全用Java开发 SpiderMonkey 第一个JavaScript引擎,Netscape Naviga ...
- Linux服务器惨遭挖矿
昨天为了协助客户测试业务,帮客户开通了一台云主机,因为是测试环境所以密码设置的很简单:1qaz@WSX,今天登陆的是否发现密码认证不通过了,确定机器是被黑掉了,估计多半是被国外小哥入侵挖矿了,记录 ...
- 【java】[null]的问题
这么写逻辑就有问题,改成下面的
- wal2json Dockerfile
以下是一个wal2json pg扩展的dockerfile,方便测试使用 dockerfile FROM postgres:11.2 AS build ENV VERSION 1_0 RUN buil ...
- stringstream字符串流的妙用
现在有一个数组,其值为从1到10000的连续增长的数字.出于某次偶然操作,导致这个数组中丢失了某三个元素,同时顺序被打乱,现在需要你用最快的方法找出丢失的这三个元素,并且将这三个元素根据从小到大重新拼 ...