java将List通过某个字段排序
时间: 2023-10-18 20:17:06 浏览: 80
可以使用Java 8的Stream API中的sorted()方法和Comparator接口来对List进行排序。例如,假设我们要按照一个对象的age字段进行排序,可以按照以下方法实现:
```java
List<MyObject> list = new ArrayList<>();
list.add(new MyObject("John", 25));
list.add(new MyObject("Jane", 30));
list.add(new MyObject("Jack", 20));
list = list.stream()
.sorted(Comparator.comparing(MyObject::getAge))
.collect(Collectors.toList());
```
以上代码可以按照MyObject对象的age字段进行升序排序,得到的结果为:
```
Jack (20)
John (25)
Jane (30)
```
如果要进行降序排序,则只需要在Comparator.comparing()方法中使用.reversed()方法即可:
```java
list = list.stream()
.sorted(Comparator.comparing(MyObject::getAge).reversed())
.collect(Collectors.toList());
```
以上代码可以按照MyObject对象的age字段进行降序排序,得到的结果为:
```
Jane (30)
John (25)
Jack (20)
```
阅读全文