java list 排序方法
时间: 2023-08-10 20:08:55 浏览: 89
Java 中的 List 接口有一个 sort() 方法,可以用来对列表中的元素进行排序。sort() 方法使用默认的自然排序来排序元素,也可以通过传递 Comparator 对象来指定自定义排序规则。
下面是一个示例代码,展示如何使用 sort() 方法对一个整数列表进行排序:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SortListExample {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(3);
numbers.add(1);
numbers.add(4);
numbers.add(2);
// 使用默认的自然排序来排序列表
Collections.sort(numbers);
// 输出已排序的列表
for (int number : numbers) {
System.out.println(number);
}
}
}
```
上述代码将输出以下结果:
```
1
2
3
4
```
如果要使用自定义排序规则,可以创建一个实现了 Comparator 接口的类,并将其传递给 sort() 方法。例如,下面的代码使用自定义排序规则来对字符串列表进行排序:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class SortListExample {
public static void main(String[] args) {
List<String> words = new ArrayList<>();
words.add("banana");
words.add("apple");
words.add("cherry");
words.add("date");
// 使用自定义排序规则来排序列表
Collections.sort(words, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.length() - s2.length();
}
});
// 输出已排序的列表
for (String word : words) {
System.out.println(word);
}
}
}
```
上述代码将输出以下结果:
```
date
apple
cherry
banana
```
这是因为我们使用了一个比较器来比较字符串的长度。根据我们的比较规则,"date" 的长度最短,因此排在列表的最前面。
阅读全文