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 排序 注解

逆序:

Java使用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
  • asp之家 软件编程 m.aspxhome.com