java中sort
时间: 2023-07-25 08:08:42 浏览: 71
在 Java 中,可以使用 `Arrays.sort()` 方法进行排序。该方法可以对数组中的元素进行排序,支持对基本类型和对象类型的排序。
对于基本类型,可以使用以下方法:
```java
int[] arr = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
Arrays.sort(arr); // 升序排序
Arrays.sort(arr, 1, 5); // 对下标 1 到 4 的元素进行排序
```
对于对象类型,需要满足以下两个条件:
1. 对象需要实现 `Comparable` 接口,并重写 `compareTo()` 方法。
2. 或者提供一个实现了 `Comparator` 接口的比较器。
示例:
```java
class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int compareTo(Person o) {
return this.age - o.age; // 根据年龄升序排序
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
Person[] people = {
new Person("Tom", 20),
new Person("Jerry", 18),
new Person("Alice", 22)
};
Arrays.sort(people); // 升序排序
System.out.println(Arrays.toString(people)); // [Person{name='Jerry', age=18}, Person{name='Tom', age=20}, Person{name='Alice', age=22}]
Arrays.sort(people, Comparator.comparing(Person::getName)); // 根据名字升序排序
System.out.println(Arrays.toString(people)); // [Person{name='Alice', age=22}, Person{name='Jerry', age=18}, Person{name='Tom', age=20}]
```
阅读全文