collections.sort降序排列
时间: 2023-08-19 21:08:15 浏览: 73
collections.sort可以通过传入Comparator对象来实现降序排序。Comparator对象可以通过实现compare方法来定义排序规则。在compare方法中,如果第一个参数小于第二个参数,返回正数;如果第一个参数大于第二个参数,返回负数;如果两个参数相等,返回。因此,如果要实现降序排序,只需要在compare方法中将返回值取反即可。例如:
```
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
});
```
这样就可以将list中的元素按照降序排序。
相关问题
java list.sort降序排列
Java中List的排序可以使用Collections类的sort方法。为了降序排列,我们可以使用Comparator接口的实现类,并通过compare方法指定比较规则。
下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(2);
numbers.add(9);
numbers.add(3);
numbers.add(1);
// 使用Comparator接口的实现类,按降序排列
Collections.sort(numbers, new Comparator<Integer>() {
@Override
public int compare(Integer num1, Integer num2) {
// 返回负数表示num1应该排在num2之前,返回正数表示num2应该排在num1之前,返回0表示两者相等
return num2 - num1;
}
});
System.out.println(numbers); // 输出:[9, 5, 3, 2, 1]
}
}
```
以上代码创建了一个整数类型的List,并添加了五个元素。使用Comparator接口的匿名内部类的compare方法进行降序排序。运行结果是[9, 5, 3, 2, 1],符合降序排列的结果。
java list.sort降序
在中,要对一个列表降序排序,可以使用 `.sort()` 方法,并且传入一个自定义的比较器(Comparator)来实现。下面是一个示例:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> myList = new ArrayList<>();
myList.add(5);
myList.add(2);
myList.add(8);
myList.add(1);
myList.add(9);
Comparator<Integer> descendingOrder = Collections.reverseOrder();
Collections.sort(myList, descendingOrder);
System.out.println(myList);
}
}
```
输出结果将是 `[9, 8, 5, 2, 1]`,即降序排列的列表。
在上面的示例中,我们创建了一个自定义的比较器 `descendingOrder`,使用 `Collections.reverseOrder()` 方法来获取逆序比较器。然后,我们使用 `Collections.sort()` 方法,传入列表和比较器来对列表进行降序排序。
希望这个示例对您有所帮助!如果您还有其他问题,请随时提问。