国产99视频精品免视看7_国外成人在线播放_怡红院一区二区_日本亚洲欧美_亚洲国产成人私人影院tom_水蜜桃一区二区_国产在线精品一区二区不卡_国产综合久久_欧美性生活久久_日本大胆人体视频

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

當前位置:首頁  >  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梗

成人黄色在线播放| 免费男同深夜夜行网站 | 国产自产v一区二区三区c| 亚洲国产欧美日韩| 久久白虎精品| 疯狂欧美牲乱大交777| 18禁裸乳无遮挡啪啪无码免费| 99精品女人在线观看免费视频| 久久五月天综合| 亚洲经典一区二区三区| 久久国产精品99精品国产| 国产树林野战在线播放| 国产在线观看免费网站| 久久爱一区二区| 亚洲精品久久久久久动漫器材一区| 亚洲国产高清一区二区三区| 久久久久久艹| 午夜黄色一级片| 午夜精品在线视频一区| 亚洲综合欧美综合| 欧美jizz19性欧美| 国产精品视频免费在线| 涩涩视频在线观看下载| 中文字幕中文字幕一区| 日本成人在线免费| 人人精品久久| 97国产精品免费视频| 最新国产麻豆精品| 97久久超碰国产精品| 天天综合网久久| 国产 日韩 欧美一区| 久久99精品久久久久久青青91| 亚洲在线激情| 99国产精品久久| 五月天婷婷在线观看视频| 亚洲天堂一区二区| 欧美激情欧美狂野欧美精品| 成年女人免费毛片视频永久| 久久综合成人精品亚洲另类欧美 | 国产福利拍拍拍| 午夜精品婷婷| 视频在线99| av在线天堂播放| 亚洲电影免费观看高清完整版在线观看 | 国产韩国精品一区二区三区| 九色综合婷婷综合| 亚洲人性生活视频| 欧美一区二区人人喊爽| 艳妇乳肉豪妇荡乳av无码福利 | √天堂资源地址在线官网| 亚洲第一网站免费视频| 国产精品一级视频| 国产美女精品人人做人人爽| 久久久久久久片| 78精品国产综合久久香蕉| 奇门遁甲1982国语版免费观看高清 | 性色av一区| 精品91自产拍在线观看一区| 国产美女永久免费| 国产馆精品极品| 黄色a级三级三级三级| 日本在线一区二区三区| 国产激情视频一区| 天天做天天摸天天爽天天爱| 色94色欧美sute亚洲线路一久| 久草网视频在线观看| 日韩一级精品| 免费特级黄色片| 国产夫妻在线播放| 久久久久国色av免费观看性色| 九色国产蝌蚪| 一区二区三区蜜桃网| 亚洲区一区二区三| 一区在线免费观看| 97超碰在线视| 亚洲欧美电影| 日韩av片免费在线观看| 天天撸夜夜操| 欧美日韩精品一区二区三区四区| 中文字幕在线视频免费| 久久aⅴ国产欧美74aaa| 成年人在线观看视频免费| 电影中文字幕一区二区| 91香蕉亚洲精品| 中文字幕免费在线| 亚洲国产97在线精品一区| 丁香六月天婷婷| 国产日韩视频一区二区三区| 免费成人深夜天涯网站| 在线成人黄色| 亚洲 高清 成人 动漫| 91欧美精品| 成人www视频在线观看| 在线免费观看高清视频色| 亚洲精品电影网| 免费一区二区在线观看| 亚洲天堂网中文字| 久久久久亚洲AV成人| 久久一本综合频道| 国产原创精品在线| 欧美久久香蕉| 欧美日韩综合另类| 白白色在线观看| 17婷婷久久www| 国产男女爽爽爽| 亚洲精品在线电影| 中文字幕第一页在线| 玉米视频成人免费看| 日产精品久久久久| 国模少妇一区二区三区| 欧产日产国产精品98| 久久久久国产| 国产xxxx振车| 欧美国产中文高清| 久久久久久九九九九| 美女精品视频| 国产精品电影网站| 日韩av高清在线| 怡红院精品视频| 色版视频在线观看| 欧美日韩国产精品成人| 亚洲国产精品久久久久久久| 亚洲品质自拍视频| 久久国产黄色片| 成人18精品视频| 欧美美女性生活视频| 日韩精品欧美成人高清一区二区| 亚洲欧美日韩一二三区| 四虎成人av| 久在线观看视频| 第一区第二区在线| 亚洲精品成人久久久998| 欧美xoxoxo| 国产不卡一区二区在线观看| 污视频网站在线免费| 国产福利成人在线| 国产三级视频在线| 久久免费精品日本久久中文字幕| 午夜刺激在线| 日韩视频免费大全中文字幕| 99re6在线视频| 精品一区二区电影| 美女免费视频黄| 亚洲国产精品成人一区二区| 国产黄色免费网站| 欧美一级二级三级蜜桃| 九色蝌蚪国产| 欧美一级专区免费大片| 精品樱空桃一区二区三区| 欧美精品 日韩| 一色屋成人免费精品网站| 91国产免费看| 亚洲人成影院在线| 在线日韩国产精品| 男女作爱免费网站| 日本道在线观看一区二区| 日韩一级片免费在线观看| 狠狠躁夜夜躁人人爽超碰91| 性一交一乱一色一视频麻豆| 精品日本高清在线播放| 嫩草影院一区二区| 色综合久久88色综合天天 | 久久天天躁狠狠躁夜夜躁| 国产一级二级在线| 久久国产精品久久国产精品| 免费观看v片在线观看| 九九热这里只有精品6| 最新av免费在线| 午夜精品在线视频| 成人资源www网在线最新版| 国产91久久婷婷一区二区| 日本高清视频在线观看| 国产精品美女午夜av| 日本在线视频www鲁啊鲁| 亚洲淫片在线视频| 欧美亚洲韩国| 日本视频一区二区在线观看| 国产一精品一av一免费爽爽| 日本高清xxxx| 亚洲第一福利专区| 免费观看精品视频| 亚洲第一天堂| 美女伦理水蜜桃4| 日韩国产在线一| 国产精品综合激情| 成人av高清在线| 亚洲 欧美 成人| 亚洲天堂2016| 亚洲第一页综合| 欧美性受xxxx| 18欧美乱大交| 亚洲天堂第二页| 黄网站app在线观看下载视频大全官网| 欧美激情第三页| 在线免费av网站| 96精品久久久久中文字幕| 国产免费不卡| 亚洲一区二区精品在线| 老司机aⅴ在线精品导航| 日韩在线xxx| 欧美性久久久| 强伦人妻一区二区三区| 国产不卡视频在线观看| 欧美啪啪小视频| 尤物av一区二区| 亚洲欧美日韩综合在线| 欧美岛国在线观看| 香蕉521av成人网| 欧美极品少妇xxxxⅹ免费视频 | wwwwww在线观看| 亚洲一区电影777| 先锋影视中文字幕| 欧美精品一区二区三区在线| 国产精品视频一区二区图片| 5566日本婷婷色中文字幕97| 永久免费网站在线| 奇米影视首页 狠狠色丁香婷婷久久综合 | 香蕉成人伊视频在线观看| 欧美videos巨大粗暴| 日韩精品中文字幕在线| 粉嫩tv在线播放| 国产精品一区二区久久久久| 日本不卡一二三| 日韩极品视频在线观看 | 国产玉足脚交久久欧美| 欧美在线二区| 日本理论中文字幕| 国产亚洲成年网址在线观看| 亚洲精品国产suv一区| 精品日本一线二线三线不卡| 高清日韩av| 国产精品久久久久影院日本| 色香欲www7777综合网| 奇米影视亚洲色图| 在线欧美三区| 国产精品 欧美激情| 亚洲精品第一国产综合野| 一本大道久久a久久精品| 亚洲色图校园春色| 国产女主播在线直播| 国产一区二区久久久| 久久狠狠久久| wwwww在线观看| 99国产精品久久久久久久久久| av中文字幕免费在线观看| 欧美一区二区三区男人的天堂| 国产.com| 91久久国产精品91久久性色| 国产一区二区三区国产精品| 欧美伦理片在线观看| 另类的小说在线视频另类成人小视频在线 | 欧美日韩高清一区二区不卡| 九七影院97影院理论片免费| 国产成人综合久久| 日韩毛片网站| 一本岛在线视频| 国产乱妇无码大片在线观看| 亚洲综合一区中| 在线播放一区二区三区| 九色porny在线观看| 99re视频| 美女毛片一区二区三区四区最新中文字幕亚洲 | 大地资源网在线观看免费官网| 国模吧视频一区| 久久久国产成人| 欧美丝袜一区二区三区| 狠狠激情五月综合婷婷俺| 国产欧美va欧美va香蕉在线| 日韩视频在线直播| japan高清日本乱xxxxx| 2020国产精品| 天天操中文字幕视频| 久久伊人精品天天| 人在线成免费视频| 精品国产免费av| 国产在线视频一区二区三区| 国产特级黄色片| 亚洲免费伊人电影在线观看av| 免费看a在线观看| 好色先生视频污| 性色av一区二区怡红| 丁香社区五月天| 日韩欧美亚洲国产另类 | 三级精品视频久久久久| 国产色婷婷在线| 青青草视频在线免费播放| 美女视频黄久久| 国产高清不卡视频| 国产亚洲精品久久久久久777| 在线欧美三级| 国产黄视频在线| 国产美女av一区二区三区| 亚洲AV无码成人片在线观看| 中文国产成人精品| 碰碰在线视频| 蜜桃免费在线视频| 91一区二区在线观看| 亚洲欧美精品日韩欧美| 久久久久久久久久久成人| 欧美大片网站| 911亚洲精选| 1000部国产精品成人观看| 九九在线观看免费视频| 亚洲a级在线观看| 欧美色蜜桃97| 久操视频免费在线观看| 欧美浪妇xxxx高跟鞋交| 国产有码在线| a级黄色片免费| 国产美女娇喘av呻吟久久| 亚洲在线偷拍自拍| 国模精品视频一区二区| 国产一精品一av一免费爽爽| 国产在线观看无码免费视频| 亚洲一区二区三区四区在线免费观看 | 国产免费观看久久黄| 精品国产午夜| 国产在线成人精品午夜| 欧美一区二区黄色| 日本激情视频在线观看| 欧美日韩精品在线一区二区| 国产aⅴ综合色| 亚洲精品国产一区二区在线| 欧洲永久精品大片ww免费漫画| 欧美韩一区二区| 一本色道久久88| 欧美在线啊v一区| 黄色av网站在线| 国产在线播放观看| 成人动漫视频在线| 国产在线精选视频| 成人国产亚洲精品a区天堂华泰| 久久一区二区中文字幕| 亚洲男人的天堂在线视频| 亚洲精品电影在线观看| 免费成人在线电影| 一个人看的视频www| 一区二区三区在线观看视频| 一本免费视频| 在线观看日本一区| 国产尤物一区二区在线| 九九久久精品这里久久网| 91精品国产综合久久香蕉922| 91精品国产自产在线观看永久∴ | 欧美色图一区二区| 日韩精品一区二区三区在线| 国产蜜臀一区二区打屁股调教| 日本一二三区在线| 一区二区三区在线视频免费观看| 曰韩少妇与小伙激情| 自拍偷拍亚洲色图欧美| 高清成人在线观看| www.91视频| 国产精品一区二区三区不卡| 亚洲综合激情| 天天干,天天操,天天射| 国产不卡一区二区在线播放| 日韩精品欧美| 中文字幕在线观看你懂的| 欧美裸体男粗大视频在线观看| youjizzjizz亚洲| 精品无码人妻一区二区三区| 亚洲美女黄色片| 国产精品无码久久久久| 久久久久久久久福利| 欧美高清dvd| ririsao久久精品一区| 国产亚洲精品成人a| 色天使久久综合网天天| 青青青青在线| 涩涩网站在线看| 五月天一区二区三区| 91在线网址| 天堂av.com| 懂色av影视一区二区三区| 日本中文字幕在线2020| 中文字幕在线视频精品| 懂色aⅴ精品一区二区三区蜜月| 思思99re6国产在线播放| 污污网站在线观看视频| 精品久久久久久国产| 欧美黄色激情| 在线成人免费av| 日本韩国精品在线| 高h视频在线播放| 欧美色图亚洲激情| 日韩免费一区二区| 成人网ww555视频免费看| 亚洲欧洲综合网| 日韩精品中文字幕在线播放| 激情久久免费视频| www.av视频在线观看| 色老头一区二区三区在线观看| 精品国产影院| 国产乱码77777777| 性色av一区二区三区| 香蕉视频官网在线观看日本一区二区| 国产色视频在线| 国产精品免费视频xxxx| 国产亚洲高清视频|