zoukankan      html  css  js  c++  java
  • List集合中的对象按中文首字母排序

    话不多说,上代码

    
    package com.kevin.practice.tmp;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.ToString;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.junit.runners.JUnit4;
    
    import java.text.Collator;
    import java.util.*;
    
    /**
     * @Description 测试
     * @Author
     * @Date 2020/3/3 9:25
     */
    @RunWith(JUnit4.class)
    public class Test01 {
    
    
        private List<Employee> initList() {
            return Arrays.asList(
                    new Employee("111", 8, 7777.77),
                    new Employee("Kevin", 8, 7777.77),
                    new Employee("张三", 18, 9999.99),
                    new Employee("李四", 37, 5555.99),
                    new Employee("王五", 50, 6666.66),
                    new Employee("赵六", 16, 3333.33),
                    new Employee("田七", 8, 7777.77),
                    new Employee("AAAA", 8, 7777.77)
            );
        }
    
        @Test
        public void test01() {
            List<Employee> list = initList();
            Comparator comparator = Collator.getInstance(Locale.CHINA);
            Collections.sort(list, new Comparator<Employee>() {
                @Override
                public int compare(Employee o1, Employee o2) {
                    return comparator.compare(o1.getName(), o2.getName());
                }
            });
            list.stream().forEach(System.out::println);
        }
    
        @Data
        @AllArgsConstructor
        @ToString
        public static class Employee {
            private String name;
            private int age;
            private double income;
        }
    }
    
    

    看一下运行结果:


    这里添加数字与字母,如果存在数字,字母,中文情况下,排序规则如下:
    数字 -> 字母 -> 中文

  • 相关阅读:
    C++ 虚函数表解析(转载)
    javaWeb中的/路径问题
    java创建多线程(转载)
    JSP中pageEncoding和charset区别,中文乱码解决方案(转载)
    Class.forName()的作用与使用总结(转载)
    Java内存模型
    java-锁膨胀的过程
    java对象头信息和三种锁的性能对比
    并发容器
    synchronized和volatile以及ReentrantLock
  • 原文地址:https://www.cnblogs.com/kevliudm/p/12401116.html
Copyright © 2011-2022 走看看