java中Arrays的降序排列
时间: 2024-03-14 22:45:40 浏览: 16
Java中可以使用 `Arrays.sort()` 方法对数组进行排序,如果需要降序排列,可以使用 `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, 9};
Arrays.sort(arr, Collections.reverseOrder());
System.out.println(Arrays.toString(arr));
}
}
```
输出结果为:`[9, 8, 5, 2, 1]`。
在这个示例中,我们将 `arr` 数组进行降序排列,使用了 `Arrays.sort()` 方法和 `Collections.reverseOrder()` 方法。`Arrays.sort()` 方法会将数组进行升序排列,而 `Collections.reverseOrder()` 方法会返回一个比较器(Comparator),用于反转比较结果,从而实现降序排序。
相关问题
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]
java数组降序排列lambda表达式
通过使用lambda表达式,可以实现Java数组的降序排列。下面是一个使用lambda表达式对整数数组进行降序排列的示例代码:
```java
Integer a[] = new Integer[]{1, 3, 5, 2, 4, 6};
System.out.println("排序前:");
System.out.println(Arrays.toString(a));
System.out.println("降序排序:");
Arrays.sort(a, (o1, o2) -> o2 - o1);
System.out.println(Arrays.toString(a));
```
在这个示例中,我们首先定义了一个整数数组a,并输出了排序前的数组内容。然后,通过调用`Arrays.sort()`方法,并传入lambda表达式`(o1, o2) -> o2 - o1`作为比较器,实现了降序排序。最后,我们再次输出排序后的数组内容。
同样地,我们也可以使用lambda表达式对字符串数组进行降序排列。下面是一个示例代码:
```java
String[] str = new String[]{"fgh", "abc", "cde", "bcd", "efg", "def"};
System.out.println("排序前:");
System.out.println(Arrays.toString(str));
System.out.println("降序排序:");
Arrays.sort(str, (x, y) -> y.compareTo(x));
System.out.println(Arrays.toString(str));
```
在这个示例中,我们定义了一个字符串数组str,并输出了排序前的数组内容。然后,通过调用`Arrays.sort()`方法,并传入lambda表达式`(x, y) -> y.compareTo(x)`作为比较器,实现了降序排序。最后,我们再次输出排序后的数组内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [【Java数组】使用lambda表达式对包装类数组和字符串数组进行排序](https://blog.csdn.net/Awt_FuDongLai/article/details/115585159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [Java8新特性Lambda表达式的一些复杂用法总结](https://download.csdn.net/download/weixin_38692100/12776783)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]