java使用sort函数排序
时间: 2024-12-06 14:12:19 浏览: 17
在Java中,`Arrays.sort()`函数用于对数组进行排序。这个函数可以对基本数据类型的数组(如int、double等)以及对象数组进行排序。对于对象数组,需要实现`Comparable`接口或提供一个`Comparator`来定义排序规则。
以下是一些使用`Arrays.sort()`函数进行排序的示例:
### 对基本数据类型数组进行排序
```java
import java.util.Arrays;
public class SortExample {
public static void main(String[] args) {
int[] numbers = {5, 3, 8, 1, 2};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers)); // 输出: [1, 2, 3, 5, 8]
}
}
```
### 对对象数组进行排序
```java
import java.util.Arrays;
import java.util.Comparator;
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return name + ": " + age;
}
}
public class SortExample {
public static void main(String[] args) {
Person[] people = {
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 20)
};
// 使用Comparable接口进行排序
Arrays.sort(people, new Comparator<Person>() {
@Override
public int compare(Person p1, Person p2) {
return p1.age - p2.age;
}
});
System.out.println(Arrays.toString(people)); // 输出: [Charlie: 20, Alice: 25, Bob: 30]
// 使用Lambda表达式进行排序
Arrays.sort(people, (p1, p2) -> p1.name.compareTo(p2.name));
System.out.println(Arrays.toString(people)); // 输出: [Alice: 25, Bob: 30, Charlie: 20]
}
}
```
### 对`List`进行排序
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class SortExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("banana");
list.add("apple");
list.add("cherry");
// 使用Collections.sort()进行排序
Collections.sort(list);
System.out.println(list); // 输出: [apple, banana, cherry]
// 使用Lambda表达式进行排序
list.sort((s1, s2) -> s2.compareTo(s1));
System.out.println(list); // 输出: [cherry, banana, apple]
}
}
```
阅读全文