Comparator.comparin
时间: 2023-10-13 12:16:06 浏览: 101
Comparator.comparing方法是Java 8中的一个静态方法,它接受一个lambda表达式或方法引用作为参数,并返回一个比较器对象。比较器对象可以用于对集合中的元素进行比较。
在比较两个元素时,Comparator.comparing方法会根据指定的lambda表达式或方法引用来提取元素的关键属性,然后使用该属性进行比较。例如,如果你有一个包含Person对象的集合,你可以使用Comparator.comparing方法来比较它们的年龄:
```java
List<Person> people = ...;
Comparator<Person> byAge = Comparator.comparing(Person::getAge);
Collections.sort(people, byAge);
```
在这个例子中,我们使用Person::getAge方法引用作为Comparator.comparing方法的参数,它会根据Person对象的年龄属性来比较它们。
除了使用方法引用外,你还可以使用lambda表达式作为参数。例如,如果你有一个包含String对象的集合,你可以使用Comparator.comparing方法来比较它们的长度:
```java
List<String> strings = ...;
Comparator<String> byLength = Comparator.comparing(str -> str.length());
Collections.sort(strings, byLength);
```
在这个例子中,我们使用一个lambda表达式来提取字符串的长度,然后使用该长度进行比较。
阅读全文