Java使用Collections.sort对中文进行排序方式
作者:七岁成熟时 时间:2021-09-17 15:05:46
使用Collections.sort对中文进行排序
使用collections.sort(List list, Comparator <? super T>)对中文名字进行排序
调用Collator的静态方法getInstance来获取所需语言环境
核心代码:
下面展示 核心代码。
result= Collator.getInstance(Locale.CHINA).compare(o1.getName(), o2.getName());
全部代码,里面有对数字的排序方法,
public class Demo03Sort {
public static void main(String[] args) {
ArrayList<Integer> list01 = new ArrayList<>();
list01.add(1);
list01.add(4);
list01.add(3);
System.out.println(list01);//[1, 4, 3]
Collections.sort(list01, new Comparator<Integer>() {
//重写比较的规则
@Override
public int compare(Integer o1, Integer o2) {
//return o2 - o1;//降序排序
return o1 - o2;//升序排序
}
});
System.out.println(list01);//[1, 3, 4]
ArrayList<Student> list02 = new ArrayList<>();
list02.add(new Student("萧炎",22));
list02.add(new Student("萧薰",20));
list02.add(new Student("萧玉",24));
list02.add(new Student("阿玉",22));
System.out.println(list02);
//[Student{name='萧炎', age=22}, Student{name='萧薰', age=20}, Student{name='萧玉', age=24}]
Collections.sort(list02, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
//按照年龄升序排序
int result = o1.getAge() - o2.getAge();
//如果两人的年龄相同,在使用姓名的第一个字比较
if(result == 0 ){
//result = o1.getName().charAt(0) - o2.getName().charAt(0);
//按照中文名称排序
result= Collator.getInstance(Locale.CHINA).compare(o1.getName(), o2.getName());
}
return result;
}
});
System.out.println(list02);
//未按照中文排序的结果:[Student{name='萧薰', age=20}, Student{name='萧炎', age=22}, Student{name='阿玉', age=22}, Student{name='萧玉', age=24}]
//按照中文排序的结果:[Student{name='萧薰', age=20}, Student{name='阿玉', age=22}, Student{name='萧炎', age=22}, Student{name='萧玉', age=24}]
}
}
Collections.sort 排序 注解
逆序:
来源:https://blog.csdn.net/weixin_44246836/article/details/107250479
标签:Java,Collections.sort,中文排序
0
投稿
猜你喜欢
Java如何获取word文档的条目化内容
2023-10-27 15:04:32
springboot 使用自定义的aspect的示例代码
2023-08-06 08:55:14
Android实现授权访问网页的方法
2022-05-13 15:39:57
Android Studio实现简易计算器设计
2022-08-22 18:41:55
公共POI导出Excel方法详解
2023-09-10 22:51:31
Java中DecimalFormat用法及符号含义
2023-05-04 04:31:14
C#读写Config配置文件案例
2022-10-22 20:11:09
举例解析Java的图像缓冲技术的使用
2022-09-08 17:17:17
springboot的war和jar包的使用详解
2021-08-24 04:09:13
Spring探秘之如何妙用BeanPostProcessor
2021-07-01 22:41:46
解决mybatis #{}无法自动添加引号的错误
2023-09-21 11:45:02
SpringBean依赖和三级缓存的案例讲解
2023-06-25 09:33:22
spring解决循环依赖的方案示例
2021-11-19 03:31:04
解决WPF附加属性的Set函数不调用的问题
2022-09-27 09:52:38
Android Drawerlayout实现侧滑菜单效果
2022-10-31 19:39:23
Java基础元注解基本原理示例详解
2022-08-09 23:21:16
用java等语言仿360首页拼音输入全模糊搜索和自动换肤
2022-12-28 18:32:01
Java获取指定字符串出现次数的方法
2022-05-11 16:06:23
一文详解Java中流程控制语句
2023-11-26 11:39:49
C#利用GDI绘制常见图形和文字
2023-04-09 20:44:40