溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java如何使用Collections.sort對中文進(jìn)行排序方式

發(fā)布時(shí)間:2021-11-08 13:03:11 來源:億速云 閱讀:247 作者:柒染 欄目:開發(fā)技術(shù)

本篇文章為大家展示了Java如何使用Collections.sort對中文進(jìn)行排序方式,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

使用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();
                //如果兩人的年齡相同,在使用姓名的第一個(gè)字比較
                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 排序 注解

逆序:

Java如何使用Collections.sort對中文進(jìn)行排序方式

上述內(nèi)容就是Java如何使用Collections.sort對中文進(jìn)行排序方式,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI