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

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

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

色又黄又爽网站www久久| 欧美精品亚洲精品| 丰满人妻一区二区三区53视频| 中文字幕视频在线播放| 精品久久久久久久久久久久久| 国产精品精品一区二区三区午夜版| 国产欧美激情视频| 青青青伊人色综合久久| 欧美日韩国产精选| 久久综合福利| 亚洲欧美一区二区三区四区五区| 国产丝袜在线精品| 久久久久久亚洲精品不卡| 亚洲欧美在线精品| 麻豆精品视频在线观看| 亚洲女人天堂视频| 欧美视频第三页| 午夜成人鲁丝片午夜精品| 精品国产乱码久久久久久蜜臀| 中文字幕一区二区三区最新 | 亚洲国产成人爱av在线播放| 亚洲国产精品女人| 999久久久久| 亚洲成色777777女色窝| 99久久国产综合精品五月天喷水| 丰满人妻一区二区三区四区53 | 99久久精品国产导航| 久久久久久成人| 永久免费未满蜜桃| 久久综合九色综合97婷婷 | 激情亚洲综合在线| 久久国产精品亚洲| 久草福利在线观看| 91女厕偷拍女厕偷拍高清| 91av国产在线| 我要看一级黄色录像| 亚洲伊人色欲综合网| 国产精品一区二区三区观看| 国产三级av片| 日韩一区二区精品葵司在线 | 欧美日产国产精品| 日本aa在线观看| 视频一区国产视频| 欧美肥老妇视频| 懂色av粉嫩av蜜乳av| 国产精品另类一区| 九九99玖玖| 一本色道久久综合无码人妻| 精品久久久久99| 欧美亚洲日本在线观看| 国产精品888| 国产成人精品999| 老熟妻内射精品一区| 狠狠爱在线视频一区| 一区二区视频在线免费| 天天爽夜夜爽夜夜爽| 久久久91精品国产一区不卡| v8888av| 亚洲成人黄色影院| 午夜欧美一区二区三区免费观看| www.av网站| 日韩最新在线视频| 国产交换配乱淫视频免费| 一区二区在线观看不卡| 一区二区免费在线视频| 日本不卡一区二区三区高清视频| 国内外成人免费激情在线视频网站 | 久久久蜜桃一区二区人| 欧美精品videos| 日本中文在线视频| 91精品国产色综合久久久蜜香臀| 黑鬼大战白妞高潮喷白浆| 成人动漫一区二区在线| 91欧美精品午夜性色福利在线| 亚洲 欧美 成人| 国产偷国产偷亚洲清高网站| 深夜视频在线观看| 午夜久久久久久电影| 青青青青在线视频| 99国产精品久久久久久久久久 | 午夜国产一区二区三区| 国产精品网站导航| 91免费视频黄| 不卡的av电影| 欧美日本亚洲| 国产最新精品免费| 粉嫩av一区二区三区免费观看 | 欧美午夜片欧美片在线观看| 亚洲 欧美 日韩 国产综合 在线 | 中文字幕第一区二区| 日韩中文不卡| 丁香激情综合国产| 日本免费高清一区二区| 国产综合色视频| 999国产在线| 久久久久久网| 97netav| 污视频软件在线观看| 国产精国产精品| www.激情五月| 国产噜噜噜噜久久久久久久久| 97精品人妻一区二区三区香蕉| 午夜精品久久久久久久久久久久 | 亚洲熟妇一区二区| 欧美最猛性xxxxx直播| 久久6免费视频| 色欧美片视频在线观看在线视频| 91精品视频国产| 欧美日韩一区二区三区| 波多野结衣网页| 日韩美女免费观看| 亚洲成人资源在线| 国产日产欧美精品一区二区三区| 久久久国产精品午夜一区ai换脸| 国产欧美亚洲视频| 国产中文字幕视频在线观看| 中文字幕日产av| 欧美日韩另类一区| 欧美交换国产一区内射| 性色av一区二区三区红粉影视| 亚洲精品久久久蜜桃动漫| 欧美另类交人妖| 国产69视频在线观看| 国产在线国偷精品产拍免费yy | 国产伦精品一区二区三区高清| 亚洲综合国产精品| 在线精品日韩| 欧美做爰爽爽爽爽爽爽| 国产精品夜夜爽| 欧美久久综合性欧美| 午夜精品久久久久久久爽| 欧美视频裸体精品| 欧美在线观看成人| 亚洲成人动漫在线播放| 欧美特级特黄aaaaaa在线看| 精品国产一二区| 97精品在线视频| 凸凹人妻人人澡人人添| 国产一区二区激情| 妺妺窝人体色WWW精品| 欧美一区二区视频在线观看2020| 四川一级毛毛片| 久久久久国产成人精品亚洲午夜| 精品人在线二区三区| 日日骚一区二区网站| 欧美黄色免费在线观看| 91精品国产品国语在线不卡| 欧美黑人性猛交xxx| 99re这里都是精品| 中文字幕超清在线免费观看| 欧美性淫爽ww久久久久无| av手机天堂网| 日韩一级片一区二区| 亚洲欧美福利视频| 在线观看国产亚洲| 日韩最新免费不卡| 国产在线一二区| 欧美精品久久一区二区| 欧洲精品在线播放| 国产成人一区二区精品非洲| 欧美一级高清大全免费观看| 国产日本欧美在线| 快she精品国产999| 自拍亚洲一区欧美另类| 精品一区二区三区免费| 99精品视频国产| 色综合夜色一区| 国产探花在线播放| 亚洲日本欧美在线| 68精品国产免费久久久久久婷婷| 在线观看网站黄不卡| 国产精品夜夜爽| 成人不卡免费视频| 日韩欧美一级片| 国产精品高清无码在线观看| 在线91免费看| 日本黄色录像视频| 欧美日韩不卡合集视频| 天堂av在线8| 中文一区在线播放| 欧美一区二区三区四区五区六区| 亚洲伦理在线观看| 爱豆国产剧免费观看大全剧苏畅 | 日本一区二区三区免费视频| 成人动漫在线观看视频| 国产精品国产三级国产a| 538精品在线观看| 欧美成人在线网站| 中文字幕乱码人妻二区三区| 久久免费视频1| 亚洲精品一卡二卡| 亚洲一区二区三区免费看| 狠狠色丁香久久婷婷综合丁香| 国产黄色大片免费看| 精品国产视频在线| 中文字幕二区三区| 欧美在线播放一区二区| 日韩午夜av电影| 少妇性l交大片| 国产精品日韩电影| 亚洲高清毛片一区二区| 亚洲永久无码7777kkk| 亚洲熟妇无码一区二区三区| 91免费看国产| 欧美成人女星排行榜| 国产精品自产拍| 欧美日韩无遮挡| 欧美激情综合五月色丁香| 亚洲xxxx在线| 亚洲永久免费av| www.18av.com| 亚洲.国产.中文慕字在线| 日韩高清一二三区| 欧美zozozo| 久久久一区二区三区捆绑**| 中文字幕手机在线观看| 国产欧美一区二区三区视频| 欧美日韩高清一区二区三区| 激情文学综合插| 无码国产精品一区二区色情男同| www.成人免费视频| 国产特级aaaaaa大片| 免费黄色国产视频| 亚洲永久无码7777kkk| 国产成人中文字幕| 日韩综合小视频| 精品成人无码一区二区三区| 日韩国产一区久久| 亚洲黄色成人网| 久久久无码精品亚洲国产| 久久久久久国产三级电影| 7777精品伊人久久久大香线蕉| 亚洲国产精品久久艾草纯爱 | 久久久久久久久久久久久久一区| 麻豆91在线看| 午夜不卡久久精品无码免费| 亚洲国产精品影视| 欧美亚洲国产视频小说| 91精品国产综合久久国产大片 | 91亚洲精品久久久蜜桃| 中文字幕第66页| 高清欧美电影在线| 亚洲国产精品精华液ab| 欧美xxxx黑人xyx性爽| 欧美国产一区二区三区| 97aⅴ精品视频一二三区| 日韩 国产 一区| 欧美在线亚洲一区| 欧美日韩激情视频| 欧美激情中文字幕一区二区| 紧缚奴在线一区二区三区| 午夜免费看毛片| japanese在线视频| 7777在线视频| 天堂在线一区二区三区| 一本色道久久综合亚洲精品图片 | 国产网站一区二区| 日本高清久久天堂| www.17c.com喷水少妇| 国产亚洲欧美激情| 国产精品女同一区二区| 亚洲成人av免费在线观看| 日韩欧美精品一区二区| 国产日韩欧美夫妻视频在线观看| 丰满人妻熟女aⅴ一区| 日本少妇高清视频| 亚洲精品乱码久久久久久自慰| 久久久久久美女| 日韩欧美资源站| 91黄色免费看| 国产女主播视频一区二区| 国产成人一区二区在线观看| a级黄色片免费| 成人中文字幕+乱码+中文字幕| 国产传媒久久文化传媒| 69精品无码成人久久久久久| 免费成年人高清视频| 91社区视频在线观看| 亚洲一二三四五| 131美女爱做视频| 国产亚洲精品网站| 久久精品视频导航| 黄网动漫久久久| 一区二区三区在线看| 国产精品久久福利| 亚洲美女久久久| 国产精国产精品| 妺妺窝人体色www看人体| 亚洲欧美一区二区三区不卡| 国产特黄级aaaaa片免| 亚洲最大成人网站| 久久99爱视频| 亚洲免费黄色网| 欧美大黑帍在线播放| 亚洲成人一区二区三区| 好看的日韩精品视频在线| 亚洲欧美一区二区三区情侣bbw | 99久久久久久久| 国产情侣自拍av| 尤物视频免费观看| 香蕉污视频在线观看| 欧美丰满熟妇bbbbbb| 国产成人精品一区二三区| 一级黄色片大全| 日韩一区二区麻豆国产| 老熟妇高潮一区二区高清视频| 国产淫片免费看| 97久久精品在线| 亚洲综合色丁香婷婷六月图片| 五月天婷婷丁香| 久久香蕉视频网站| 久久在线免费视频| 一区精品在线播放| 中文字幕乱码一区二区 | 欧美极品jizzhd欧美| 欧美本精品男人aⅴ天堂| 国产精品一区二区x88av| 黄色录像一级片| 超碰免费在线公开| 欧美成人亚洲成人| 欧美日韩国产精品专区| 少妇精品高潮欲妇又嫩中文字幕 | 久久久人成影片一区二区三区观看 | 宅男av一区二区三区| 日韩中文综合网| 亚洲五码中文字幕| 日本在线不卡一区| 国语对白在线播放| 成人网站免费观看入口| 97超碰蝌蚪网人人做人人爽| 在线观看一区二区精品视频| 美腿丝袜在线亚洲一区 | 69视频免费在线观看| 色片在线免费观看| 国产欧美一区二区视频| 中文字幕成人在线| 天天亚洲美女在线视频| 蜜桃视频在线观看一区| 国产大片aaa| 中文字幕成人在线视频| 国产欧美日韩综合一区在线观看| 一区二区三区视频免费| 亚洲成人免费在线观看| 国产久卡久卡久卡久卡视频精品| 亚洲精品午夜久久久久久久| 爱爱爱爱免费视频| 日韩午夜视频在线观看| 欧美情侣性视频| 欧美一区欧美二区| 国产精品精品国产色婷婷| 欧美熟妇另类久久久久久不卡| 国产三级在线观看完整版| 国产在线播放观看| 99免费在线视频观看| 久久久国产一区二区三区| 欧美视频中文字幕| 久久久久久久免费视频了| 亚洲va欧美va| 亚洲天堂精品一区| 潘金莲激情呻吟欲求不满视频| 欧美精品欧美精品| 91精品国产91久久| 亚洲视频精品在线| 欧美日韩免费看| 国产视频一区二区三区在线观看| 久久精品官网| 黄色一级视频免费看| 人妻av无码一区二区三区| 国产精彩免费视频| 日韩精品久久一区二区三区| 国产精品一区二区女厕厕| 中文字幕欧美国内| 欧美日韩国产电影| 一区二区三区**美女毛片| 国内国产精品久久| 好吊视频一二三区| 蜜臀尤物一区二区三区直播| 国产人与禽zoz0性伦| 久久无码人妻一区二区三区| 国产xxxx振车| 日本黑人久久| 999国内精品视频在线| 久久免费国产视频| 自拍偷拍免费精品| 亚洲国产欧美日韩精品| 91国在线观看| 亚洲综合在线视频| 国产精品无圣光一区二区| 亚洲无人区码一码二码三码的含义 | 天天综合网久久综合网| 国产一区二区精品久久91| 日韩视频在线一区二区| 91中文字幕在线| 亚洲国产精品推荐| 欧美自拍偷拍一区| 亚洲亚洲人成综合网络| 91丝袜呻吟高潮美腿白嫩在线观看| 日韩精品福利网| www.成人在线观看| 一区二区的视频| 青青草av在线播放| 欧美日韩一级大片| 特级西西人体高清大胆| 免费a在线观看播放| 欧美污在线观看| 最新天堂中文在线| 三级a在线观看| 五月婷婷激情久久| 精品999在线| 激情 小说 亚洲 图片: 伦|