Java的arraylist.sort()方法传递参数
时间: 2024-11-09 17:19:17 浏览: 7
java对ArrayList排序代码示例
Java中的ArrayList类提供了一个sort()方法,用于对集合中的元素进行排序。这个方法可以接受一个Comparator接口的实现作为参数,用于自定义比较规则。如果你想按照元素本身的自然顺序(比如整数的大小、字符串的字典顺序)排序,你可以直接调用sort()方法,因为ArrayList本身已经实现了Comparable接口,可以自动进行默认的自然排序:
```java
List<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(3);
numbers.add(8);
// 默认按照Integer的自然顺序升序排列
numbers.sort();
System.out.println(numbers); // 输出 [3, 5, 8]
```
如果你想实现自定义的排序规则,就需要创建一个实现了Comparator接口的类或者匿名内部类,并将其作为sort()方法的参数。例如,如果你想要降序排列:
```java
Collections.sort(numbers, Collections.reverseOrder());
```
或者
```java
numbers.sort((a, b) -> -a.compareTo(b));
```
这里`(a, b) -> -a.compareTo(b)`是一个lambda表达式,它表示如果a应该排在b之前,则返回负数;反之则返回正数,实现了降序排列。
阅读全文