comparator.comparing 比较
时间: 2023-12-28 20:22:11 浏览: 85
comparator.comparing 是 Java 8 中的一个静态方法,用于创建一个比较器,可以根据对象的某个属性进行比较。该方法接受一个 Function 参数,该函数将对象映射到其要比较的属性上。
例如,假设有一个 Person 类,其中包含 name 和 age 两个属性,我们可以使用 comparator.comparing 方法创建两个比较器:
```java
Comparator<Person> byName = Comparator.comparing(Person::getName);
Comparator<Person> byAge = Comparator.comparing(Person::getAge);
```
第一个比较器 byName 将 Person 对象按照 name 属性进行比较,第二个比较器 byAge 将 Person 对象按照 age 属性进行比较。
相关问题
Comparator.comparing 比较时间
Comparator.comparing 方法可以用于比较时间。在 Java 中,可以使用 Comparator.comparing 方法来创建一个比较器,然后在排序时使用该比较器来比较时间。
下面是一个示例代码,演示了如何使用 Comparator.comparing 方法比较时间:
```java
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<LocalDateTime> times = new ArrayList<>();
times.add(LocalDateTime.of(2021, 1, 1, 9, 0, 0));
times.add(LocalDateTime.of(2021, 1, 1, 10, 0, 0));
times.add(LocalDateTime.of(2021, 1, 1, 8, 0, 0));
// 使用 Comparator.comparing 方法比较时间
Comparator<LocalDateTime> comparator = Comparator.comparing(time -> time);
// 按时间排序
times.sort(comparator);
// 输出排序结果
for (LocalDateTime time : times) {
System.out.println(time);
}
}
}
```
这段代码创建了一个包含三个时间的列表 `times`,然后使用 Comparator.comparing 方法创建了一个比较器 `comparator`,该比较器将按照时间的自然顺序进行比较。最后,通过调用 `times.sort(comparator)` 方法对时间进行排序,并输出排序结果。
Comparator.comparing 比较泛型字段数据
Comparator.comparing()是Java 8中的一个静态方法,它可以用于比较对象中的某个字段数据。该方法接受一个Function参数,该参数用于提取要比较的字段数据,并返回一个实现了Comparator接口的比较器对象。该比较器对象可以用于对对象列表进行排序。下面是一个例子:
假设我们有一个Person类,其中包含name和age两个字段。我们想要按照name字段对Person对象列表进行排序,可以使用Comparator.comparing()方法来实现:
```java
List<Person> people = new ArrayList<>();
people.add(new Person("Alice", 25));
people.add(new Person("Bob", 30));
people.add(new Person("Charlie", 20));
// 按照name字段对Person对象列表进行排序
Collections.sort(people, Comparator.comparing(Person::getName));
// 输出排序后的结果
for (Person person : people) {
System.out.println(person.getName() + " " + person.getAge());
}
```
上述代码中,我们使用Comparator.comparing()方法来创建一个比较器对象,该比较器对象用于比较Person对象的name字段。然后,我们使用Collections.sort()方法对Person对象列表进行排序,最后输出排序后的结果。
阅读全文