java list find方法_Java 8 Stream - Find Max and Min from List - 入门小站-rumenz.com
学习使用查找最小和最大日期,数字,字符,字符串或对象。
Find Min or Max Date
要从日期流中获取最大或最小日期 ,可以使用Comparator.comparing( LocalDate::toEpochDay )比较器。 1970-01-01 。LocalDate start = LocalDate.now();
LocalDate end = LocalDate.now().plusMonths(1).with(TemporalAdjusters.lastDayOfMonth());
//Create stream of dates
List dates = Stream.iterate(start, date -> date.plusDays(1))
.limit(ChronoUnit.DAYS.between(start, end))
.collect(Collectors.toList());
// Get Min or Max Date
LocalDate maxDate = dates.stream()
.max( Comparator.comparing( LocalDate::toEpochDay ) )
.get();
LocalDate minDate = dates.stream()
.min( Comparator.comparing( LocalDate::toEpochDay ) )
.get();
System.out.println("maxDate = " + maxDate);
System.out.println("minDate = " + minDate);
Program Output.maxDate = 2017-10-30
minDate = 2017-09-13
使用上述程序从日期列表中查找最早的日期或最晚的日期。
Find Min or Max Number
要从数字流中找到最小和最大数字,请使用Comparator.comparing( Integer::valueOf )像比较器一样。 以下示例是整数流的示例。// Get Min or Max Number
Integer maxNumber = Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9)
.max(Comparator.comparing(Integer::valueOf))
.get();
Integer minNumber = Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9)
.min(Comparator.comparing(Integer::valueOf))
.get();
System.out.println("maxNumber = " + maxNumber);
System.out.println("minNumber = " + minNumber);
Program Output.
maxNumber = 9
minNumber = 1
Find Min or Max char or String
要从字符流中查找最小和最大字符串或字符 ,请像比较器一样使用Comparator.comparing( String::valueOf ) 。// Get Min or Max String/Char
String maxChar = Stream.of("H", "T", "D", "I", "J")
.max(Comparator.comparing(String::valueOf))
.get();
String minChar = Stream.of("H", "T", "D", "I", "J")
.min(Comparator.comparing(String::valueOf))
.get();
System.out.println("maxChar = " + maxChar);
System.out.println("minChar = " + minChar);
Program Output.maxChar = T
minChar = D
Find Min or Max Object by key
Object comparison创建自己的custom comparator 。 例如,如果我想从Employee对象流中获取最年轻的Employee ,那么我的比较器将类似于Comparator.comparing(Employee::getAge) 。 现在使用此比较器获取最大或最小员工对象。
Java程序可根据年龄查找最大或最小员工对象。List employees = new ArrayList();
employees.add(new Employee(1, "Lokesh", 36));
employees.add(new Employee(2, "Alex", 46));
employees.add(new Employee(3, "Brian", 52));
Comparator comparator = Comparator.comparing( Employee::getAge );
// Get Min or Max Object
Employee minObject = employees.stream().min(comparator).get();
Employee maxObject = employees.stream().max(comparator).get();
System.out.println("minObject = " + minObject);
System.out.println("maxObject = " + maxObject);
Program Output.minObject = Id:- 1 Name:- Lokesh Age:- 36
maxObject = Id:- 3 Name:- Brian Age:- 52
Employee对象是:class Employee {
private int id;
private String name;
private int age;
public Employee(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
StringBuilder str = null;
str = new StringBuilder();
str.append("Id:- " + getId() + " Name:- " + getName() + " Age:- " + getAge());
return str.toString();
}
}
在本教程中,我们学习了使用Java 8 lambda expression 从原始值流中查找最大值或最小值 。 我们还学会了查找最大或最小对象,例如max Date或字符串。
我们还学会了从对象流中按对象属性找到最大对象 。
在评论中把您的问题交给我。
java list find方法_Java 8 Stream - Find Max and Min from List - 入门小站-rumenz.com相关推荐
- java中collection方法_Java 8中的Collector toCollection()方法
toCollection()Java中的Collector类的方法返回一个Collector,该Collector以遇到的顺序将输入元素累积到一个新的Collection中. 语法如下static & ...
- java的flush方法_Java中的BufferedWriter flush()方法及示例
Java中buffered writer类的flush()方法用于刷新缓冲的writer流中的字符.语法:公共void flush()指定者:此方法由Flushable接口的flush()方法指定.重 ...
- java 可变参数方法_Java方法中的参数太多,第7部分:可变状态
java 可变参数方法 在我的系列文章的第七篇中,有关解决Java方法或构造函数中过多参数的问题 ,我着眼于使用状态来减少传递参数的需要. 我等到本系列的第七篇文章来解决这个问题的原因之一是,它是我最 ...
- java的equals方法_Java Date equals()方法与示例
java的equals方法 日期类equals()方法 (Date Class equals() method) equals() method is available in java.util p ...
- java的equals方法_Java LocalDateTime类| 带示例的equals()方法
java的equals方法 LocalDateTime类equals()方法 (LocalDateTime Class equals() method) equals() method is avai ...
- java的equals方法_Java Vector equals()方法与示例
java的equals方法 向量类的equals()方法 (Vector Class equals() method) equals() method is available in java.uti ...
- java的parse方法_Java即时类| parse()方法与示例
java的parse方法 即时类parse()方法 (Instant Class parse() method) parse() method is available in java.time pa ...
- java的equals方法_Java Duration类| 带示例的equals()方法
java的equals方法 持续时间类equals()方法 (Duration Class equals() method) equals() method is available in java. ...
- java中clone方法_Java Object clone()方法– Java中的克隆
java中clone方法 Cloning is the process of creating a copy of an Object. Java Object class comes with na ...
最新文章
- 条件限制select into_SQL全部知识点(夺回控制台掌控权,转义符,SELECT特定列,AND,OR,查询数值,比较运算)...
- Syslinux引导文件名与菜单解释
- PyTorch基础-softmax函数mnist数据集识别-03
- 在数据库中outlet、code、outline为联合组件。hibarnate插入可如此插入
- debian8安装Odoo中的Barcode Scanner Hardware Driver模块时,提示没有evdev
- nignx解决vue部署服务器刷新页面出现404问题
- STM32之端口复用与重映射
- form图片上传遇到错误
- [Linux] 解决Ubuntu12.10 64位google chrome安装Flash后出现couldn‘t load plug-in的问题;
- python绘制立体扇形_你不知道的4种方法:python方法绘制扇形
- Delphi--“Range check error“ 错误解决方案之一
- win10,win11内存占用过高
- 3.实现蛇和基本游戏界面
- Google IO 2022——CSS 状态
- FPGA结构分析——IDELAY2,网口储备点3
- 类继承和依赖注入的关系_管理类依赖关系:依赖关系注入,服务定位符和工厂简介,第1部分...
- 关于生僻字乱码的问题
- win10无法装载iso文件_Win10系统怎么安装iso镜像文件 Win10系统安装iso镜像文件方法...
- arcgis数据的M/Z值设置问题
- 晕菜~~~竟然出了这样的事情~~
热门文章
- 【Linux使用】Centos 7 GRUB与内核版本切换
- 地图点随机分布均匀_英国标准协会(BSI)推荐的三坐标测点分布策略
- java平面内有n个矩形_JAVA 相交矩形面积 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴.对于每个矩形,我们给出它的一对相对顶点...
- UE4如何解析命令行参数
- iPhone 6S三大性能实测
- 机器学习的概念性的总结
- 一对一培训之视频免费分享-2017-12-09-第 03 阶段-准备-基础-架构-课件
- brew 基本使用方法
- ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number;
- 总结:常用的通用数据处理指令