有一個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這個字段有英文,那么將排到所有漢字前面,總體來說,優先級是:英文字母>漢字。