Java Stream获取List对象最小值并排序:实战案例
Java Stream获取List对象最小值并排序:实战案例
在Java开发中,我们经常需要对List中的对象进行排序和查找。使用Stream API可以简化这些操作。本文将介绍如何使用Stream获取List对象中int类型属性的最小值,并对List进行排序。
1. 创建List对象
首先,我们创建一个包含MyClass对象的List。MyClass类包含一个int类型的属性a。javaimport java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.Optional;
class MyClass { private int a;
public MyClass(int a) { this.a = a; }
public int getA() { return a; }}
public class Main { public static void main(String[] args) { List
// ... 后续代码 }}
2. 使用Stream获取最小值并排序java Optional minObject = list.stream() .min(Comparator.comparingInt(MyClass::getA));
minObject.ifPresent(obj -> System.out.println('最小对象的属性a为:' + obj.getA()));
list.sort(Comparator.comparingInt(MyClass::getA)); System.out.println('排序后的列表:' + list);
代码解释:
- 使用
list.stream()创建一个Stream对象。- 使用min(Comparator.comparingInt(MyClass::getA))获取属性a最小的对象。Comparator.comparingInt(MyClass::getA)定义了比较规则,即按照a的值进行比较。- 使用ifPresent()方法判断是否找到了最小值对象,如果找到则打印该对象的a属性。- 使用list.sort(Comparator.comparingInt(MyClass::getA))对列表进行排序,排序规则与查找最小值时相同。
输出结果:
最小对象的属性a为:2排序后的列表:[MyClass@..., MyClass@..., MyClass@..., MyClass@...] // 输出的MyClass对象地址会根据实际情况变化
总结
本文介绍了如何使用Java Stream API获取List对象中int类型属性的最小值,并对List进行排序。Stream API提供了一种简洁高效的方式来操作集合数据,可以帮助我们编写更易读、更易维护的代码。
原文地址: https://www.cveoy.top/t/topic/fhog 著作权归作者所有。请勿转载和采集!