易妖游戏网
您的当前位置:首页Java实现按照中文汉字名称首字母排序

Java实现按照中文汉字名称首字母排序

来源:易妖游戏网

一、需求背景

        现在有一组数据,需要先找数量从多到少排序,如果数量相同,那么按照名称首字母A-Z排序

二、实现排序

        实现步骤如下:

List<WarningListVo> list = new ArrayList<>();         
//排序规则:预警数量从大到小,如果预警数相同,按照名称首字母排序
//使用Collator进行本地化不敏感的字符串比较
Collator collator = Collator.getInstance(Locale.CHINA);
//设置为按首字母排序
collator.setStrength(Collator.PRIMARY);
list =list.stream()
.sorted(Comparator.comparing(WarningListVo::getWarningNum)
.reversed()
.thenComparing(item -> collator.getCollationKey(item.getDistName())))
.collect(Collectors.toList());

因篇幅问题不能全部显示,请点此查看更多更全内容