一区二区三区精品视频-一区二区三区国产美女在线播放-一区二区三区福利视频-一区二区三区福利-毛片大全免费看-毛片大片免费看

千鋒教育-做有情懷、有良心、有品質的職業教育機構

當前位置:首頁  >  IT問答庫  >  Java基礎知識

Java集合的兩種排序方法

發布:java基礎教程 2022-02-28 17:05

Java集合的兩種排序方法

推薦答案

  Java集合的兩種排序方法,Java集合的工具類Collections中提供了兩種排序的方法,分別是:

1.Collections.sort(List list)

2.Collections.sort(List list,Comparator c)

  diyi種稱為自然排序,參與排序的對象需實現comparable接口,重寫其compareTo()方法,方法體中實現對象的比較大小規則,示例如下:

IT技術

 

  實體類:(基本屬性,getter/setter方法,有參無參構造方法,toString方法)

package test;

public class Emp implements Comparable {

  private String name;

  

    private int age;

 

    public String getName() {

 

        return name;

 

    }

 

    public void setName(String name) {

 

        this.name = name;

 

    }

 

    public int getAge() {

 

        return age;

 

    }

 

    public void setAge(int age) {

 

        this.age = age;

 

    }

 

    public Emp() {

 

        super();

 

    }

 

    public Emp(String name, int age) {

 

        super();

 

        this.name = name;

 

        this.age = age;

 

    }

 

    @Override

 

    public String toString() {

 

        return "Emp [name=" + name + ", age=" + age + "]";

 

    }

 

    @Override

 

    public int compareTo(Object o) {

 

        if(o instanceof Emp){

 

            Emp emp = (Emp) o;

 

//          return this.age-emp.getAge();//按照年齡升序排序

 

            return this.name.compareTo(emp.getName());//換姓名升序排序

 

        }

 

        throw new ClassCastException("不能轉換為Emp類型的對象...");

 

    }

 

}

 

  第二種叫定制排序,或自定義排序,需編寫匿名內部類,new一個Comparator接口的比較器對象c,同時實現compare()其方法;

  然后將比較器對象c傳給Collections.sort()方法的參數列表中,實現排序功能;

  說明:diyi種方法不夠靈活,實體類實現了comparable接口后,會增加耦合,如果在項目中不同的位置需要根據不同的屬性調用排序方法時,需要反復修改比較規則(name還是按age),二者只能選擇其一,會起沖突.第二種就很好地解決了這個問題.在需要的地方,創建個內部類的實例,重寫其比較方法即可.

 

jUnit4單元測試類代碼如下:

 

package test;

 

import java.util.ArrayList;

 

import java.util.Collections;

 

import java.util.Comparator;

 

import java.util.List;

 

import org.junit.BeforeClass;

 

import org.junit.Test;

 

public class TestSort {

 

    static List list = new ArrayList();

 

    //@BeforeClass注解標注的方法會在其它測試方法執行之前先執行,

 

    //且只執行一次.@Before注解標注的方法會在每個測試方法之前執行;

 

    //此處初始化集合只需要一次,因此使用@BeforeClass.

 

    @BeforeClass

 

    public static void init(){

 

        list.add(new Emp("tom",18));

 

        list.add(new Emp("jack",20));

 

        list.add(new Emp("rose",15));

 

        list.add(new Emp("jerry",17));

 

        System.out.println("排序前:");

 

        for(Object o : list){

 

            System.out.println(o);

 

        }

 

    }

 

    /**age升序排序*/

 

//  @Test

 

//  public void testSortAge(){

 

//      Collections.sort(list);

 

//      System.out.println("自然排序按age排序后:");

 

//      for(Object o : list){

 

//          System.out.println(o);

 

//      }

 

//  }

 

//

 

    /**name升序排序*/

 

    @Test

 

    public void testSortName(){

 

        Collections.sort(list);

 

        System.out.println("自然排序按name升序排序后:");

 

        for(Object o : list){

 

            System.out.println(o);

 

        }

 

    }

 

    /**使用Comparator比較器按age升序排序*/

 

    @Test

 

    public void testComparatorSortAge(){

 

        Collections.sort(list,new Comparator () {

 

            @Override

 

            public int compare(Object o1, Object o2) {

 

                if(o1 instanceof Emp && o2 instanceof Emp){

 

                    Emp e1 = (Emp) o1;

 

                    Emp e2 = (Emp) o2;

 

                    return e1.getAge() - e2.getAge();

 

                }

 

                throw new ClassCastException("不能轉換為Emp類型");

 

            }

 

        });

 

        System.out.println("使用Comparator比較器按age升序排序后:");

 

        for(Object o : list){

 

            System.out.println(o);

 

        }

 

    }

 

    /**使用Comparator比較器按name升序排序*/

 

    @Test

 

    public void testComparatorSortName(){

 

        Collections.sort(list,new Comparator () {

 

            @Override

 

            public int compare(Object o1, Object o2) {

 

                if(o1 instanceof Emp && o2 instanceof Emp){

 

                    Emp e1 = (Emp) o1;

 

                    Emp e2 = (Emp) o2;

 

                    return e1.getName().compareTo(e2.getName());

 

                }

 

                throw new ClassCastException("不能轉換為Emp類型");

 

            }

 

        });

 

        System.out.println("使用Comparator比較器按name升序排序后:");

 

        for(Object o : list){

 

            System.out.println(o);

 

        }

 

    }

 

}

 

右鍵空白位置>Run As>JUnit Test>

 

運行結果如下:

 

排序前:

 

Emp [name=tom, age=18]

 

Emp [name=jack, age=20]

 

Emp [name=rose, age=15]

 

Emp [name=jerry, age=17]

 

自然排序按name升序排序后:

 

Emp [name=jack, age=20]

 

Emp [name=jerry, age=17]

 

Emp [name=rose, age=15]

 

Emp [name=tom, age=18]

 

使用Comparator比較器按age升序排序后:

 

Emp [name=rose, age=15]

 

Emp [name=jerry, age=17]

 

Emp [name=tom, age=18]Emp [name=jack, age=20]使用Comparator比較器按name升序排序后:Emp [name=jack, age=20]Emp [name=jerry, age=17]Emp [name=rose, age=15]Emp [name=tom, age=18]

  以上就是小編介紹的"Java培訓分享:Java集合的兩種排序方法"的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為您服務。

最新問答資訊

01 unity用什么編程語言?unity學習難度大嗎

學習 unity 語言
6020 人關注

02 python容易學嗎?學好python有什么好處?

學習 python 工作 培訓
5389 人關注

03 html是什么語言?html學習難嗎?

學習 html 語言 可以
5062 人關注

04 c語言難學嗎?c語言學好要多久?

語言 技術 學習
4733 人關注

06 學好平面設計要多久?報速成班靠譜嗎?

平面 設計 學習 時間
4238 人關注

相關問題

計算機前端和后端區別,到底該學哪一個?

互聯網行業的發展速度很快,有關市場上對于it行業的人才需求量越...

java和php的區別是什么?哪一個更難一些?

有很多零基礎的小白想要去學習編程技術,那么可以考慮一下java和...

java與java script的區別有哪些?

相信大多數同學對java、java script都不會陌生,二者都是編程語...

java中什么是繼承?

繼承的特點:只需明確一點,java只支持單繼承,不支持多繼承,但...

java byte取值范圍是什么?

同學您好,java byte取值范圍是什么?針對這個問題可以看看下面的...

javascript和java有什么區別

1)基于對象和面向對象:Java是一種真正的面向對象的語言,即使是...

測一測
你知道多少IT梗

国产无遮挡又黄又爽免费吃瓜视频 | 边摸边吃奶又黄又激烈视频| 精品无码久久久久久久动漫 | ZEESEA在日本| 开心久久婷婷综合中文字幕| 亚洲AV色区一区二区三区| 粗大的内捧猛烈进出少妇| 免费国产黄网站在线观看视频 | 无码一区二区三区AV免费| 啊灬啊灬啊灬快灬深用力| 久久亚洲精品无码GV| 亚洲国产AV一区二区三区四区| 国产AⅤ无码专区亚洲AV琪琪| 强开小婷嫩苞又嫩又紧视频| 性欧美牲交XXXXX视频| 久久久久精品波多野吉衣无码AV| 亚洲AV无码国产一区二区三区| 国产A在亚洲线播放| 日おめでとうございます| 18禁无遮挡羞羞啪啪免费网站| 精品久久久无码中文字幕一丶| 小鲜肉洗澡时自慰网站XNXX| 国产精品久久久久久无码| 色婷婷五月色综合AⅤ小说| JIZZJIZZ日本高潮喷水| 欧美XXXX黑人又粗又大| 专干老肥女人88AV| 乱人伦中文字幕成人网站在线| 亚洲熟妇A∨日韩熟妇在线| 护士趴下光屁股翘臀被打的作文| 压在窗户上C给别人看窗前| 国产精品偷窥老熟女高潮| 熟女系列丰满熟妇AV| 非洲人与性动交CCOO| 日韩人妻无码一区2区3区里沙| XXX.WWW免费观看视频| 欧美体内SHE精视频| 99精品视频在线观看免费蜜桃| 男人把大JI巴放进女人有视频| 中英文字幕乱码英文正常| 蜜芽VA亚洲VA欧美VA天堂| 在线观看亚洲AV每日更新无码| 兰姨不敢发出一点声音怕吵醒风| 又粗又大又爽又舒服日产| 老师的粉嫩小又紧水又多 | 精品久久人人做人人爽综合| 亚洲精品TV久久久久久久久| 精品熟女AV少妇免费久久自慰| 亚洲精品无码久久久久APP| 精品无码无人网站免费视频| 亚洲色欲AV无码成人专区| 久久精品午夜一区二区福利| 一二三四日本中文在线| 免费120秒体验试看5次| A毛片毛片看免费| 日本老熟妇人妻妇毛多多| 堕落的人妻1―10雨柔| 天堂资源中文WWW| 国产麻豆精品一区| 亚洲精品无码专区在线播放| 久久露脸国产精品| 777米奇色狠狠888俺也去乱| 强开少妇嫩苞又嫩又紧小说| 粉嫩av一区二区夜夜嗨| 武则天裸毛片70分钟| 黑人又大又粗又硬XXXXX免费| 亚洲熟女乱色综合一区| 免费国产在线精品一区| 啊灬啊别停灬用力啊老师| 色欲狠狠躁天天躁无码中文字幕| 国产乱子伦精品无码专区| 亚洲国产欧美在线人成大黄瓜 | 亚洲精品无码专区在线| 美国少归BVBV| 差差差很疼APP大全免费下载软| 天干天干夜天干天天爽| 黑人巨鞭大战丰满少妇| 影音先锋2020色资源网| 漂亮人妻沦陷精油按摩| 国产成人啪精品视频网站午夜| 亚洲AV美女一区二区三区| 兰姨不敢发出一点声音怕吵醒风| OLDGRANNY日本老熟:妇| 无码丰满少妇2在线观看| 精品日本一区二区三区免费| 97久久精品人人爽人人爽蜜臀 | 精品粉嫩BBWBBZBBW| 中国女人FREE性HD| 少妇高潮惨叫久久久久久| 国精产品W灬源码1688伊在| 影视先锋AV资源噜噜| 日本无人区码卡二卡三卡| 国产偷V国产偷V亚洲高清| 一米八五插一米六可以吗| 人妻中字视频中文乱码| 国产日韩在线欧美视频| 永久免费AV无码网站性色AV| 日韩AV片免费播放| 黑人异族XXXⅩ吊大| 又大又硬又粗再深一点视频| 日韩乱码人妻无码中文字幕视频| 韩国三级丰满少妇高潮| CHINESE国产AVVIDE| 午夜精品影视国产一区在线麻豆 | 国产成人无码AⅤ片在线观看| 亚洲人妻精品一区| 日韩欧美一区二区三区视频| 精品无码一区二区三区爱欲| 超薄肉色丝袜一区二区| 亚洲精品乱码久久久久久蜜桃图片 | 亚洲精品中文字幕乱码三区 | 18禁无遮挡羞羞啪啪免费网站| 少妇午夜啪爽嗷嗷叫视频| 久久久久精品国产AV麻豆| 成人精品视频99在线观看免费| 亚洲国产欧美在线看片一国产| 人与性动交ⅩXXXB| 久99久无码精品视频免费播放| 成 人影片免费观看| 亚洲色成人一区二区三区| 日日摸日日碰夜夜爽97| 久久国产精品日本波多野结衣 | 亚洲精品成人区在线观看| 欧美性色欧美A在线播放| 韩国善良的小峓子在钱| 被强迫的爱人 电影| 亚洲欧洲无码一区二区三区| 搡老女人老91妇女老熟女oo| 久久综合无码中文字幕无码TS| 国产成人无码精品XXXX网站| 最新中文字幕AV无码不卡| 午夜亚洲国产理论片亚洲2020| 欧美乱妇高清无乱码| 娇妻玩4P被3个男子伺候| 成片人卡1卡2卡3手机免费看| 亚洲一二三四2021不卡| 无码毛片一区二区三区本码视频| 欧美精品一区二区三区在线| 精品亚洲国产成人蜜臀AV| 儿子比老公更大更硬朗| 中文字幕久久久久人妻中出| 亚洲AV永久无码精品秋霞电影秋| 日韩在线一区二区三区| 美美女高清毛片视频免费观看| 国精产品一二二区视早餐有限| 爱情岛网站亚洲禁18进入 | 国产一区内射最近更新| 成人午夜亚洲精品无码区| 呦小BBW搡BBBB搡BBBB| 亚洲AV日韩AV永久无码色欲| 日日噜噜夜夜狠狠久久丁香五月| 男人激烈吮乳吃奶到高潮视频| 精品人妻无码专区在中文字幕| 国产盗摄XXXX视频XXXⅩ| YIN荡到骨子里的SAO货| 在线播放人成视频观看| 亚洲国产成人资源在线| 无码人妻丰满熟妇区五十路在线| 日本中文字幕一区二区高清在线| 麻豆蜜桃AV蜜臀AV色欲AV| 精品人妻无码区在线视频| 国产裸体舞一区二区三区| 粗大挺进亲女H晓晓| BBWBBW欧美肥妇PICS| 曰韩无码二三区中文字幕| 亚洲国产精品无码专区| 无码专区狠狠躁躁天天躁| 少妇高潮无套内谢麻豆传| 人妻丰满熟妇AⅤ无码区| 男人J进女人P免费视频在线直播| 久久久国产精品亚洲一区| 果冻传媒董小宛一区二区| 国产精品成人影院在线观看| 动漫人物桶动漫人物免费观看网站| BBBBB毛茸茸BBBBBBB| 7777色鬼XXXX欧美色妇| 中文天堂资源在线WWW| 亚洲愉拍99热成人精品热久久| 亚洲AV无码不卡国产精品| 无码人妻一区二区三区AV| 天天曰天天躁天天摸孕妇| 上面一个奶下面一个顶是什么字| 日本边添边摸边做边爱喷水| 欧洲美女与动交ZOZ0Z| 女厕厕露P撒尿八个少妇| 男人扒开添女人下部免费视频| 免费A级毛片无码免费视频| 久欠精品国国产99国产精2| 久久久久人妻一区二区三区VR| 精品熟女少妇A∨免费久久| 精品国产乱码久久久软件下载| 黑巨人与欧美精品一区| 国语自产偷拍精品视频偷| 国产一区二区三区在线视頻 | 欧美人与动交视频播放| 欧美成人精品一区二区综合| 欧美内射深喉中文字幕| 宝贝腿抬高点让我爽一点麻豆| 超碰97人人做人人爱少妇| 亚洲中文字幕久久无码| 亚洲碰碰人人AV熟女天堂| 亚洲精品WWW久久久久久| 亚洲精品成人网站在线观看 | 国产chinese大学生Gay| 国产92成人精品视频免费| 国产69成人精品视频免费| 国产成人AV综合亚洲色欲| 国产精品久久久久一区二区三区 | 亚洲日韩欧美一区久久久久我| 亚洲乱码日产精品一二三| 亚洲日韩精品无码专区网址| 一本大道香蕉大无线吗| 中文字幕亚洲欧美日韩在线不卡| CHINESE国产AVVIDE| 波多野结衣放荡的护士| 俄罗斯性孕妇孕交| 国产熟睡乱子伦视频| 激情五月开心婷婷深爱| 久久久久无码精品国产AV蜜桃1| 蜜臀av一区二区三区久久| 欧洲精品免费一区二区三区| 色久综合网精品一区二区| 我一边做饭一边被躁了怎么回事| 亚洲AⅤ无码成人网站国产APP| 亚洲啪啪AV无码片| ◇一本大道香蕉中文在线| 把腿张开让老子臊烂你的动漫视频| 纯爱无遮挡H肉动漫| 国产精品IGAO视频网| 激情欧美成人久久综合| 满熟妇XXXX性久久9久久| 漂亮人妻被黑人久久精品| 色AV综合AV综合无码网站| 羞羞在线版免费阅读入口 | 欧美整片欧洲熟妇色视频| 色婷婷五月综合激情中文字幕 | 末成年女A∨片一区二区| 热99RE久久精品| 无码精品、日韩专区| 亚洲色欲色欲综合网站色偷偷| 7777精品久久久大香线蕉| 疯狂做受XXXⅩ高潮高潮按摩| 国产又猛又黄又爽| 免费A级毛片无码A∨蜜芽试看| 日本一卡2卡3卡4卡| 亚洲AV成人片无码网站网8X| 在线精品动漫一区二区无码| 成人作爱Av一级无码| 好紧我太爽了视频免费| 欧美变态口味重另类在线视频| 熟女高潮喷水一区二区三区| 亚洲老熟女 @ TUBEUM TV| 99久久精品费精品国产| 国产成人免费AV片在线观看| 久久久久久久久久精品电影| 人妻少妇被猛烈进入中文字幕| 无人区码一码二码三码区| 中国BGMBGMBGM老妇网站| 给老子叫 老子喜欢听| 久久精品国产精品亚洲艾草网| 人妻AV综合天堂一区| 亚洲S久久久久一区二区| 99在线精品免费视频九九视| 国产精品成人一区二区不卡| 秘密列车动漫在线观看| 天美传媒MV高清版在线观看| 永久黄网站色视频免费品善网| 疯狂做受XXXX国产| 久久青青草原精品国产APP| 色老头BGMBGMBGM| 一区二区三区国产精华液区别| 菲律宾一大学发生爆炸| 久久久亚洲欧洲日产国码二区| 日日摸夜夜添狠狠添欧美| 野花韩国视频观看免费高清的| 粉嫩一区二区三区| 老太BBWWBBWW高潮| 无码纯肉视频在线观看| 7777精品伊人久久久大香线蕉 | 天天爽夜夜爽人人爽一区二区| 伊人色综合九久久天天蜜桃| 国产精品国产三级国快看| 免费无码成人AV片在线在线播放| 午夜三级理论在线观看高清| YSL千人千色T9和T9的区别| 精品国产AⅤ无码一区二区| 日木AV无码专区亚洲AV毛片| 在线 | 麻豆国产传媒| 国产调教性奴在线观看W| 欧洲美女与动交ZOZ0Z| 亚洲色偷偷色噜噜狠狠99网| 国产成人无码H在线观看网站| 美女裸体18禁免费网站| 亚洲AV成人无码精品综合网站 | 成人无码小视频在线观看| 久久亚洲国产精品123区| 无码精品人妻一区二区三区在线| DY888午夜福利视频| 久久精品国产亚洲AV香蕉| 无人区一码二码三码四码区别在哪| а天堂中文在线官网| 久久久WWW成人免费精品| 午夜AV无码福利免费看网站| 被多人玩弄的烂货苏妖精| 麻豆成人精品国产免费| 亚洲AV秘 无码一区二黑人| 成人亚洲欧美在线观看| 拧花蒂尿用力按凸起喷水尿AV| 亚洲乱码日产精品BD在线看| 国产精品美女久久久久| 日おめでとうございます| 中国97在线 | 免费| 精东传媒VS天美传媒| 玩弄少妇人妻中文字幕| もんむす くえすと资源网| 老干部熟女高潮视频| 亚洲国产AV无码精品| 国产精品Ⅴ无码大片在线看| 日产乱码一二三区别免费看 | 五级黄高潮片90分钟视频| 成年网站免费视频黄A站| 女教师娇喘潮喷抽搐在线视频| 亚洲色欲久久久综合网东京热| 国产我和子的与子乱视频| 天天摸天天碰成人免费视频| 尝到了甜头两人每天都会想方设法| 欧美成妇人吹潮在线播放| 岳女四人共侍一夫婷婷| 久久精品国产亚洲AV影院| 亚洲国产精品无码久久久秋霞1| 国产乱码精品一区二区三区中文| 少妇WWB搡BBBB搡BBBB| 边做边爱完整版MP3在线下载| 你的奶好大让老子摸摸的说说| 野花影视免费观看高清| 精品久久久无码人妻中文字幕| 亚洲AV丰满熟妇在线播放| 国产裸模视频免费区无码| 玩弄少妇人妻中文字幕| 国产成人无码精品一区在线观看| 日系女生裸妆素颜| 处破女轻点疼丨98分钟| 奇米第四色777ME| MM131美女大尺度私密照尤果| 蜜臀成人片免费视频在线观看| 中国GAY片男同志免费网站| 久久亚洲日韩AV一区二区三区| 夜间十八款禁用软件APP下载| 久爱无码精品免费视频在线观看| 亚洲精品9999久久久久无码| 精品国产第一福利网站| 亚洲AV综合色区无码专区蜜桃| 国产午夜福利亚洲第一| 亚洲 欧美 动漫 少妇 自拍| 国产午夜福利在线播放| 亚洲AV日韩AV无码A一区| 国产亚洲精品A第一页| 亚洲AV无码精品色午夜蜜芽| 国产在线精品一区二区三区直播| 亚洲AV无码男人的天堂| 国内情侣作爱视频网站| 亚洲AV无码专区国产乱码4| 精品国内在视频线2019| 亚洲在AV极品无码天堂手机版| 久久婷婷人人澡人人爽人人喊 | 又大又黄又粗又爽的免费视频| 久久天天躁狠狠躁夜夜AV不卡| 中文在线最新版天堂8| 欧美猛少妇色XXXXⅩ| 成人毛片女人18女人免费| 少妇大叫太大太爽受不了| 国产精品JK白丝AV网站| 亚洲AV无码一区二区三区系列 | 少妇厨房愉情理伦片BD在线观看| 国产AV免费一区二区三区| 午夜成人影片在线观看免费完整高 | 亚洲熟妇丰满多毛XXXX| 麻花豆传媒剧国产MV在线| ASS年轻少妇BBWPICS| 日韩免费一区二区三区高清| 国产二级一片内射视频播放| 亚洲AV日韩AV无码污污网站| 久久国内精品一区二区三区| 中文字幕AV免费专区| 日本边添边摸边做边爱边| 国产精品毛片Av无码一区二区| 亚洲国产超清无码专区| 老头的老枪又粗又大| J日本成熟IPHONE69| 熟妇性MATURETUBE另类| 国精产品无人区一码二码三蘑菇| 亚洲中文字幕无码一区无广告| 女人大胆张开荫道口∞| 大香煮伊在2020一二三久| 亚洲AV成人AV| 久久天天躁狠狠躁夜夜免费观看| AV色欲无码人妻中文字幕| 熟妇人妻无乱码中文字幕| 好男人资源在线观看好| 中国少妇内射XXXXX-百度| 日本亲近相奷中文字幕视频| 国产日产亚洲系列最新| 一二三四影视在线观看免费视频 | 亚洲 无码 国产精品| 久久久久人妻一区二区三区| А√天堂8资源官网在线BT种子| 无码人妻一区二区三区免费看| 久久久久精品国产亚洲AV电影| JLZZ大全高潮多水| 亚洲 欧美 中文 日韩AⅤ手机|