感动 绝对可用
查询完的list再调用这个方法重新排序输出
/**
* 根据中文字首字母排序排序 ABC
*/
import java.text.Collator;
private List<Student> sort(List<Student> list
,Boolean asc,Boolean useName,Boolean useAddress){
Comparator comparator = Collator.getInstance(Locale.CHINA);
if (asc) {
// 正序
Collections.sort(list, (item1, item2) -> {
if (useName){
return comparator.compare(item1.getName(), item2.getName());
}else if (useAddress){
return comparator.compare(item1.getAddress(), item2.getAddress());
}else {
// 默认使用name排序
return comparator.compare(item1.getName(), item2.getName());
}
});
} else {
// 倒叙
Collections.sort(list, (item1, item2) -> {
if (useName){
return comparator.compare(item2.getName(), item1.getName());
}else if (useAddress){
return comparator.compare(item2.getAddress(), item1.getAddress());
}else {
return comparator.compare(item2.getName(), item1.getName());
}
});
}
return list;
}