comparator.comparing根据字符串排序
时间: 2024-09-13 07:03:31 浏览: 90
Java8 Comparator: 列表排序的深入讲解
Comparator.comparing()是Java 8引入的一个静态方法,它属于java.util.Comparator接口的一部分,用于创建一个Comparator(比较器),该比较器根据指定的属性或函数对对象进行排序。当你需要按照某个字段或者计算结果来进行自定义排序时,这个方法非常有用。
例如,如果你有一个Person对象列表,你想按照他们的名字进行升序排序,你可以这样做:
```java
List<Person> people = ...; // 假设Person类有name字段
Comparator<Person> byName = Comparator.comparing(Person::getName);
Collections.sort(people, byName);
```
这里的`Person::getName`是一个Lambda表达式,表示获取Person对象的名字属性。`Comparator.comparing()`方法会返回一个新的比较器,根据这个名字属性进行比较。
如果你想降序排序,可以传入`reversed(byName)`:
```java
Collections.sort(people, reversed(byName));
```
阅读全文