Java使用Collections.sort對中文進行排序方式
使用Collections.sort對中文進行排序
使用collections.sort(List list, Comparator <? super T>)對中文名字進行排序
調(diào)用Collator的靜態(tài)方法getInstance來獲取所需語言環(huán)境
核心代碼:
下面展示 核心代碼。
result= Collator.getInstance(Locale.CHINA).compare(o1.getName(), o2.getName());
全部代碼,里面有對數(shù)字的排序方法,
public class Demo03Sort {
public static void main(String[] args) {
ArrayList<Integer> list01 = new ArrayList<>();
list01.add(1);
list01.add(4);
list01.add(3);
System.out.println(list01);//[1, 4, 3]
Collections.sort(list01, new Comparator<Integer>() {
//重寫比較的規(guī)則
@Override
public int compare(Integer o1, Integer o2) {
//return o2 - o1;//降序排序
return o1 - o2;//升序排序
}
});
System.out.println(list01);//[1, 3, 4]
ArrayList<Student> list02 = new ArrayList<>();
list02.add(new Student("蕭炎",22));
list02.add(new Student("蕭薰",20));
list02.add(new Student("蕭玉",24));
list02.add(new Student("阿玉",22));
System.out.println(list02);
//[Student{name='蕭炎', age=22}, Student{name='蕭薰', age=20}, Student{name='蕭玉', age=24}]
Collections.sort(list02, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
//按照年齡升序排序
int result = o1.getAge() - o2.getAge();
//如果兩人的年齡相同,在使用姓名的第一個字比較
if(result == 0 ){
//result = o1.getName().charAt(0) - o2.getName().charAt(0);
//按照中文名稱排序
result= Collator.getInstance(Locale.CHINA).compare(o1.getName(), o2.getName());
}
return result;
}
});
System.out.println(list02);
//未按照中文排序的結(jié)果:[Student{name='蕭薰', age=20}, Student{name='蕭炎', age=22}, Student{name='阿玉', age=22}, Student{name='蕭玉', age=24}]
//按照中文排序的結(jié)果:[Student{name='蕭薰', age=20}, Student{name='阿玉', age=22}, Student{name='蕭炎', age=22}, Student{name='蕭玉', age=24}]
}
}
Collections.sort 排序 注解
逆序:

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
mybatis主從表關聯(lián)查詢,返回對象帶有集合屬性解析
這篇文章主要介紹了mybatis主從表關聯(lián)查詢,返回對象帶有集合屬性解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
java集成開發(fā)SpringBoot生成接口文檔示例實現(xiàn)
這篇文章主要為大家介紹了java集成開發(fā)SpringBoot如何生成接口文檔的示例實現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10
SpringMVC使用MultipartFile實現(xiàn)文件上傳
這篇文章主要為大家詳細介紹了SpringMVC使用MultipartFile實現(xiàn)文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04
java自定義實現(xiàn)base64編碼轉(zhuǎn)換
本文主要介紹了java 自定義實現(xiàn)base64編碼轉(zhuǎn)換的方法,具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02
springboot+maven多環(huán)境動態(tài)配置及編譯失敗的解決方案(步驟詳解)
這篇文章主要介紹了springboot+maven多環(huán)境動態(tài)配置及編譯失敗的解決方案,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11

