Comparator.comparing中文排序规则
时间: 2023-10-13 22:17:25 浏览: 91
Comparator 排序器
5星 · 资源好评率100%
在Java中,Comparator.comparing方法默认使用的是字典顺序进行排序。如果需要按中文规则进行排序,则需要使用Collator类来创建一个自定义的Comparator对象。Collator是一个用于比较字符串的类,它支持不同语言和区域的排序规则。
以下是按中文规则对字符串数组进行排序的示例代码:
```java
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Locale;
public class ChineseSortDemo {
public static void main(String[] args) {
String[] words = {"张三", "李四", "王五", "赵六", "孙七"};
Comparator<String> cmp = Collator.getInstance(Locale.CHINA);
Arrays.sort(words, cmp);
System.out.println(Arrays.toString(words));
}
}
```
在这里,我们使用Collator.getInstance(Locale.CHINA)创建一个中文排序规则的Comparator对象,并将其传递给Arrays.sort方法进行排序。输出结果将按照中文规则进行排序。
需要注意的是,Collator类的性能比较低,因此在处理大量数据时应该尽量避免使用它。如果需要频繁进行排序操作,建议使用其他更高效的算法和数据结构。
阅读全文