用compareTo方法比较两个字符串,排序规则为字典排序,当字母都相同时,则按长度大小排序
时间: 2024-12-23 15:26:32 浏览: 9
在Java中,如果你想要按照字典顺序(字母顺序)和字符串长度对字符串列表进行排序,你可以使用`Collections.sort()`方法,并自定义一个Comparator。这个Comparator可以结合`Character.compare()`方法比较字符,以及`String.length()`方法获取字符串长度。下面是一个简单的例子:
```java
import java.util.Arrays;
import java.util.Comparator;
public class StringSorter {
public static void main(String[] args) {
// 创建一个字符串数组
String[] strings = {"banana", "apple", "cherry", "date", "apricot"};
// 自定义比较器
Comparator<String> customComparator = (s1, s2) -> {
int compareChars = Character.compare(s1.charAt(0), s2.charAt(0));
if (compareChars != 0) {
return compareChars; // 字母不同直接返回结果
} else {
// 如果第一个字符相同,再比较长度
return Integer.compare(s1.length(), s2.length());
}
};
// 使用自定义比较器排序
Arrays.sort(strings, customComparator);
// 打印排序后的字符串
for (String str : strings) {
System.out.println(str);
}
//
阅读全文