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

Posted 胜金

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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这个字段有英文,那么将排到所有汉字前面,总体来说,优先级是:英文字母>汉字。

 

 

 

 

 

以上是关于Java中实现对集合中对象按中文首字母排序的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中List集合的汉字排序

按首字母 Javascript 按字母顺序对对象进行排序和分组

MySQL数据库中实现对中文字段按照首字字母排序

JAVA通过数组按首字母排序怎么做?

JAVA 汉字首字母排序

按拼音首字母排序