java 一个字符串数组 降序排序
时间: 2023-09-18 09:05:49 浏览: 162
Java数组与字符串.docx
### 回答1:
Java 中字符串数组的降序排序可以使用以下方法:
1. 使用 Arrays.sort() 方法,并传递一个自定义的 Comparator,该 Comparator 按照字符串的逆序比较两个字符串:
```
String[] strs = {"aaa", "ccc", "ddd", "bbb"};
Arrays.sort(strs, (a, b) -> b.compareTo(a));
```
2. 使用 Collections.sort() 方法,并传递一个 List 包含字符串数组,并使用自定义的 Comparator 按照字符串的逆序排序:
```
String[] strs = {"aaa", "ccc", "ddd", "bbb"};
List<String> list = Arrays.asList(strs);
Collections.sort(list, (a, b) -> b.compareTo(a));
```
以上两种方法均可以实现字符串数组的降序排序。
### 回答2:
要对一个字符串数组进行降序排序,可以使用Java中的Arrays类中提供的sort方法,并结合Comparator接口来实现。
首先,导入java.util.Arrays和java.util.Comparator包。
然后,定义一个字符串数组strArr,并赋予元素值。
接下来,使用Arrays类的sort方法对字符串数组进行排序,同时传入一个自定义的Comparator接口实现类。
首先,创建一个Comparator接口实现类StringComparator,实现compare方法,用于规定排序规则。
在compare方法中,首先将传入的两个字符串参数转换为大写形式,然后使用compareTo方法进行比较。若字符串1比字符串2大,则返回-1,若相等,则返回0,若字符串1比字符串2小,则返回1。
最后,在主函数中调用Arrays类的sort方法,传入字符串数组strArr和自定义的StringComparator比较规则,来对字符串数组进行降序排序。
代码示例如下:
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
String[] strArr = {"Java", "Python", "C++", "JavaScript"};
Arrays.sort(strArr, new StringComparator());
for (String str : strArr) {
System.out.println(str);
}
}
static class StringComparator implements Comparator<String> {
@Override
public int compare(String str1, String str2) {
str1 = str1.toUpperCase();
str2 = str2.toUpperCase();
return str2.compareTo(str1);
}
}
}
运行以上代码,会输出排序后的字符串数组,即:
Python
JavaScript
Java
C++
这样就实现了对字符串数组的降序排序。
### 回答3:
要将一个字符串数组进行降序排序,可以使用Java中的Arrays类的sort方法。以下是一种实现方法:
首先,引入Arrays类:
import java.util.Arrays;
接下来,定义一个包含字符串的数组:
String[] array = {"apple", "banana", "cherry", "date", "eggplant"};
然后,使用Arrays类的sort方法对数组进行降序排序:
Arrays.sort(array, Collections.reverseOrder());
最后,遍历数组并输出结果:
for (String str : array) {
System.out.println(str);
}
运行结果会输出:
eggplant
date
cherry
banana
apple
这里使用了Collections类的reverseOrder方法来创建一个逆序的比较器,作为sort方法的第二个参数,从而将数组降序排序。最后,通过遍历排序后的数组,可以得到降序排列的字符串数组。
阅读全文