java sort降序
时间: 2023-10-15 10:25:36 浏览: 124
要在 Java 中对数组进行降序排序,可以使用 `java.util.Arrays` 类中的 `sort()` 方法,并在排序前使用 `java.util.Collections` 类中的 `reverseOrder()` 方法。以下是一个示例代码:
```java
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Integer[] arr = {5, 2, 8, 1, 6};
Arrays.sort(arr, Collections.reverseOrder());
System.out.println("降序排序后的数组:");
for (Integer num : arr) {
System.out.print(num + " ");
}
}
}
```
输出结果:
```
降序排序后的数组:
8 6 5 2 1
```
在代码中,我们使用 `Arrays.sort()` 方法对整数数组 `arr` 进行排序,并通过传递 `Collections.reverseOrder()` 方法作为参数来指定降序排序。最后,我们遍历排序后的数组并打印结果。
相关问题
java使用sort降序
### Java 中使用 `sort` 方法实现集合降序排序
在 Java 编程中,可以利用多种方式对集合进行降序排序。一种常见的方式是通过 `Collections.sort()` 并传递一个自定义的比较器来指定降序逻辑[^1]。
对于更现代的做法,在 Java 8 及更高版本中,推荐采用流(Stream API)结合 lambda 表达式的简洁语法来进行操作[^3]。下面展示了一个具体的例子:
#### 使用 Lambda 和 Stream 对列表按特定字段降序排列
假设有一个包含多个对象的列表,并希望按照这些对象的一个属性值做降序处理,则可以通过如下代码完成此需求:
```java
import java.util.*;
import java.util.stream.Collectors;
class Product {
private String name;
private double price;
public Product(String name, double price) {
this.name = name;
this.price = price;
}
// Getter and Setter methods here...
@Override
public String toString() {
return "Product{name='" + name + "', price=" + price + '}';
}
}
public class Main {
public static void main(String[] args) {
List<Product> productList = Arrays.asList(
new Product("Apple", 0.7),
new Product("Banana", 0.5),
new Product("Orange", 0.9)
);
// Sort products by price in descending order using stream and comparator
List<Product> sortedProducts = productList.stream()
.sorted(Comparator.comparingDouble(Product::getPrice).reversed())
.collect(Collectors.toList());
System.out.println(sortedProducts);
}
}
```
这段程序首先创建了一些商品实例并放入到一个列表里;接着运用了流式API以及lambda表达式形式的比较器实现了基于价格属性的逆向(即降序)排序功能[^4]。
java数组降序排列sort
要Java数组进行降序排序,有几种方法可以实现。
第一种方法是使用Collections的reverseOrder()方法。首先,将数组转换为包装类类型(比如Integer),然后使用Arrays.sort()方法进行排序,并传入Collections.reverseOrder()作为参数。这样就可以实现降序排序。以下是示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Integer[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1};
Arrays.sort(arr, Collections.reverseOrder());
for (int i : arr) {
System.out.println(i);
}
}
}
```
第二种方法是使用Comparator接口,通过复写compare()方法来实现降序排序。首先,创建一个实现了Comparator接口的类,并在其中复写compare()方法,将比较的顺序反过来即可。然后,将该类的实例作为参数传递给Arrays.sort()方法。以下是示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Integer[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1};
Comparator<Integer> cmp = new CMP();
Arrays.sort(arr, cmp);
for (int i : arr) {
System.out.println(i);
}
}
}
class CMP implements Comparator<Integer> {
@Override
public int compare(Integer a, Integer b) {
return b - a;
}
}
```
以上是两种常用的方法来对Java数组进行降序排序。希望对你有所帮助![1]
阅读全文
相关推荐














