1、创建java比较器对象,设置中文,调用list.sort方法进行排序
//1、创建比较器对象
Comparator<Object> cmp = Collator.getInstance(Locale.CHINA);
//2、调用list.sort()方法,按照首字母排序
list.sort(cmp);
2、样例1(简单集合)
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("张三丰 z");
list.add("李欢 l");
list.add("王刚 w");
list.add("冯宝宝 f");
System.out.println("排序前:"+list);
Comparator<Object> cmp = Collator.getInstance(Locale.CHINA);
//按照首字母排序
list.sort(cmp);
System.out.println("排序后:"+list);
}
排序结果:
3、样例2 (对象集合 )
public class Student {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public static void main(String[] args) {
List<Student> list = new ArrayList<>();
Student student1 = new Student();
student1.setId(10001);
student1.setName("张三 z");
Student student2 = new Student();
student2.setId(10002);
student2.setName("李四 l");
Student student3 = new Student();
student3.setId(10003);
student3.setName("王五 w");
list.add(student1);
list.add(student2);
list.add(student3);
System.out.println("排序前:"+list.get(0).getName()+","+list.get(1).getName()+","+list.get(2).getName());
Comparator<Object> cmp = Collator.getInstance(Locale.CHINA);
//按照首字母排序
list.sort((a, b) -> cmp.compare(a.getName(), b.getName()));
System.out.println("排序后:"+list.get(0).getName()+","+list.get(1).getName()+","+list.get(2).getName());
}
排序结果: