java list 使用lamda排序
时间: 2024-10-15 09:00:16 浏览: 30
在 Java 中,你可以使用 `Collections.sort()` 或者 `List.sort()` 方法对 `List` 进行排序,如果想要使用 Lambda 表达式,通常是在泛型方法 `.stream()` 后处理数据。例如,假设你有一个包含自定义对象 (`Person`) 的列表,并想按年龄升序排序:
```java
import java.util.*;
class Person {
String name;
int age;
// getters and setters...
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
Person person = (Person) obj;
return age == person.age;
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}
List<Person> people = ...; // 初始化列表
// 使用 Lambda 排序
people.sort(Comparator.comparingInt(Person::getAge));
```
这里,`Comparator.comparingInt(Person::getAge)` 是一个 Lambda 表达式,它接受一个 `Person` 对象并返回其年龄作为比较的关键字。`.sort()` 方法会使用这个比较器来对列表进行排序。
阅读全文