Java中实现对集合中对象按中文首字母排序


有一个person对象如下:

public class Person {
    private String id;private String nam;
}

一个list集合如下:

List<Employee> personList= Arrays.asList(
            new Person("1",“张小同"),
            new Person("2",”靖大同"),
            new Person("3",”王五"),
            new Person("4",”赵三"),
            new Person("5",”刘小刀")
    );

按中文首字母排序:

public void sort(List<Person> personList){
//获取中文环境
            Comparator comparator = Collator.getInstance(Locale.CHINA);
//进行排序 Collections.sort(personList, (p1, p2)
-> { return comparator.compare(p1.getName(), p2.getName()); });
//打印结果
        personList.stream().forEach(System.out::println); 
}

注意,如果name这个字段有英文,那么将排到所有汉字前面,总体来说,优先级是:英文字母>汉字。

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM