您好,登錄后才能下訂單哦!
本篇文章為大家展示了Java如何使用Collections.sort對中文進行排序方式,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
使用collections.sort(List list, Comparator <? super T>)對中文名字進行排序
調用Collator的靜態方法getInstance來獲取所需語言環境
核心代碼:
下面展示 核心代碼。
result= Collator.getInstance(Locale.CHINA).compare(o1.getName(), o2.getName());
全部代碼,里面有對數字的排序方法,
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>() { //重寫比較的規則 @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); //未按照中文排序的結果:[Student{name='蕭薰', age=20}, Student{name='蕭炎', age=22}, Student{name='阿玉', age=22}, Student{name='蕭玉', age=24}] //按照中文排序的結果:[Student{name='蕭薰', age=20}, Student{name='阿玉', age=22}, Student{name='蕭炎', age=22}, Student{name='蕭玉', age=24}] } }
逆序:
上述內容就是Java如何使用Collections.sort對中文進行排序方式,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。