arraylist的sort方法排序
时间: 2023-04-28 14:05:31 浏览: 140
ArrayList 的 sort 方法用于对 ArrayList 中的元素进行排序。默认情况下,它使用自然排序,即按照元素的自然顺序进行排序(如数字升序,字母降序)。也可以通过传递自定义的 Comparator 来实现自定义的排序。
语法:
```
void sort(Comparator c)
```
示例:
```
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(3);
numbers.add(36);
numbers.add(73);
numbers.add(40);
numbers.add(1);
Collections.sort(numbers);
System.out.println("List after the use of" +
" Collection.sort() :\n" + numbers);
```
输出:
```
List after the use of Collection.sort() :
[1, 3, 36, 40, 73]
```
相关问题
java sort方法_Java ArrayList的不同排序方法
Java中的ArrayList类提供了多种排序方法,以下是其中的一些:
1. 使用Collections.sort()方法进行排序:
```
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Collections.sort(list);
```
2. 使用Comparator接口进行排序:
```
class LengthComparator implements Comparator<String> {
public int compare(String s1, String s2) {
return s1.length() - s2.length();
}
}
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Collections.sort(list, new LengthComparator());
```
3. 使用Lambda表达式进行排序:
```
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Collections.sort(list, (s1, s2) -> s1.length() - s2.length());
```
另外,ArrayList还提供了sort()方法和parallelSort()方法,这两种方法可以在多线程环境下进行排序,但需要注意线程安全问题。
arraylist按条件排序排序
要按条件对 ArrayList 进行排序,你可以使用 `Collections.sort()` 方法并传入一个自定义的比较器(Comparator)。比较器将根据指定的条件来比较元素,并决定它们在排序结果中的顺序。
下面是一个示例代码,展示如何按条件对 ArrayList 进行排序:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(2);
numbers.add(8);
numbers.add(1);
// 使用自定义的比较器按照降序排序
Collections.sort(numbers, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// 根据条件比较两个元素,返回负数表示 o1 在前,返回正数表示 o2 在前
return o2 - o1; // 降序排序
}
});
// 输出排序结果
for (Integer number : numbers) {
System.out.println(number);
}
}
}
```
在上面的示例中,我们创建了一个包含整数的 ArrayList,并且使用自定义的比较器对其进行降序排序。你可以根据需要修改比较器中的条件,以实现不同的排序方式。
阅读全文