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