Java使用Collections.sort對中文進(jìn)行排序方式
使用Collections.sort對中文進(jìn)行排序
使用collections.sort(List list, Comparator <? super T>)對中文名字進(jìn)行排序
調(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)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring schedule配置多任務(wù)動態(tài)cron(增刪啟停)
這篇文章主要介紹了spring schedule配置多任務(wù)動態(tài)cron(增刪啟停),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
SpringBoot連接MySql數(shù)據(jù)庫的原理及代碼示例
SpringBoot是一款流行的Java開發(fā)框架,它可以輕松地連接各種類型的數(shù)據(jù)庫,包括關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫,本文將介紹SpringBoot是如何連接數(shù)據(jù)庫的,包括其原理和代碼示例,需要的朋友可以參考下2023-07-07
SpringCloud Zuul網(wǎng)關(guān)功能實(shí)現(xiàn)解析
這篇文章主要介紹了SpringCloud Zuul網(wǎng)關(guān)功能實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03
java編程中拷貝數(shù)組的方式及相關(guān)問題分析
這篇文章主要介紹了java編程中拷貝數(shù)組的方式及相關(guān)問題分析,分享了Java中數(shù)組復(fù)制的四種方式,其次對二維數(shù)組的簡單使用有一段代碼示例,具有一定參考價值,需要的朋友可以了解下。2017-11-11
BeanUtils.copyProperties()拷貝id屬性失敗的原因及解決
這篇文章主要介紹了BeanUtils.copyProperties()拷貝id屬性失敗的原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
解決springboot中配置過濾器以及可能出現(xiàn)的問題
這篇文章主要介紹了解決springboot中配置過濾器以及可能出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
Spring操作JdbcTemplate數(shù)據(jù)庫的方法學(xué)習(xí)
這篇文章主要為大家介紹了Spring操作JdbcTemplate數(shù)據(jù)庫方法學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Eclipse Debug模式的開啟與關(guān)閉問題簡析
這篇文章主要介紹了Eclipse Debug模式的開啟與關(guān)閉問題簡析,同時向大家介紹了一個簡單的debug模式啟動不起來的解決方法,希望對大家有所幫助。2017-10-10
解決使用@ManyToMany查詢數(shù)據(jù)時的死循環(huán)問題
這篇文章主要介紹了解決使用@ManyToMany查詢數(shù)據(jù)時的死循環(huán)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12

