还有哪些方法javaarrays.sort自定义排序
时间: 2024-09-30 19:07:08 浏览: 44
Java的`Arrays.sort()`方法默认按照元素自然顺序对数组进行升序排序,如果需要自定义排序规则,可以提供一个实现了`Comparator`接口的比较器(Comparator)。`Comparator`是一个函数式接口,它有两个泛型方法:
1. `int compare(T o1, T o2)`: 这个方法接收两个待比较的对象作为参数,并返回一个整数值。如果返回值小于0,表示o1应该排在o2前面;等于0则保持不变,大于0则o2排在前面。
下面是如何使用自定义`Comparator`的例子:
```java
import java.util.Arrays;
import java.util.Comparator;
class Employee {
String name;
int age;
// getters and setters...
}
public class CustomSortExample {
public static void main(String[] args) {
Employee[] employees = {new Employee("Alice", 25), new Employee("Bob", 30), new Employee("Charlie", 20)};
// 自定义按年龄排序
Arrays.sort(employees, Comparator.comparingInt(Employee::getAge));
System.out.println("Sorted by Age:");
for (Employee e : employees) {
System.out.println(e.name + ": " + e.age);
}
// 自定义按名字首字母排序
Arrays.sort(employees, Comparator.comparing(Employee::getName).thenComparing(Employee::getAge));
System.out.println("\nSorted by Name first then Age:");
for (Employee e : employees) {
System.out.println(e.name + ": " + e.age);
}
}
}
```
阅读全文
相关推荐


















