国产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 人關注

相關問題

Java培訓班的課程一般都學習什么內容

首先是Java技術的核心和基礎JavaSE,這一階段會接觸到Java基礎語...

學習Java有哪些技巧嗎

java作為最經典的編程語言之一受到大家的喜愛,不止你我,很多人...

java程序員常用到的技術有哪些

操作系統、計算機網絡這些基礎知識,工作之后基本都忘的差不多了...

int和integer有哪些區別?

int 和 Integer 的基本區別有如下?點: int 是基本數據類型,...

JVM模型的介紹二

JVM模型的介紹二,接著上一篇我們繼續來分享,棧之本地方法棧。 ...

JVM模型的介紹一

Java培訓班教程系列分享JVM模型的介紹一,Java內存分配:JVM定義...

測一測
你知道多少IT梗

97精品久久久久中文字幕| 亚洲高清免费一级二级三级| 久久综合久久色| 美女羞羞视频在线观看| 欧美日韩一二三| 欧美爱爱免费视频| 久久99免费视频| 国产在线视频一区| 乳奴隷乳フ辱| 国产精品不卡一区| 国内精品免费视频| 99精品女人在线观看免费视频| 久久99精品国产99久久6尤物| 男人天堂手机在线观看| 美女网站在线免费欧美精品| 操91在线视频| 国产艳俗歌舞表演hd| 亚洲91在线| 毛片精品免费在线观看| 亚洲AV成人无码一二三区在线| 麻豆国产91在线播放| 中国老女人av| 色三级在线观看| 精品国产乱码久久久久久闺蜜| 日韩精品人妻中文字幕| 欧美日韩福利| 色综合久久av| 国产视频二区在线观看| 91精品国产丝袜白色高跟鞋| 天天干天天干天天干天天| 激情综合中文娱乐网| 亚洲国产欧洲综合997久久 | 初高中福利视频网站| 成人午夜在线| 91精品国产高清| 国产免费一级片| 裤袜国产欧美精品一区| 亚洲欧洲午夜一线一品| 国产情侣自拍小视频| 激情综合色播激情啊| av黄色在线网站| 国产伦理精品| 欧美人在线视频| 欧美黑人乱大交| 亚洲国产成人自拍| 中文人妻一区二区三区| 亚洲第一福利社区| 国产精品久久久久久久久婷婷| www污污在线| 这里只有精品99re| 亚洲图片在线播放| 国产一区啦啦啦在线观看| 99视频精品免费| 欧美大陆国产| 国产精品欧美久久久| 91.·福利| 欧美色偷偷大香| 国产午夜性春猛交ⅹxxx| 视频一区在线播放| 2022亚洲天堂| 韩国理伦片久久电影网| 国产精品中文字幕在线观看| 亚洲精品久久久久国产| 极品盗摄国产盗摄合集| 欧美国产激情| 一区二区不卡在线| 日本高清在线观看| 欧美第一黄色网| 天堂午夜在线| 色婷婷亚洲精品| caoporn国产| 久草精品在线观看| 色综合五月婷婷| 美女视频亚洲色图| 久久av一区二区三区漫画| sese在线视频| 久久久999国产| 夜先锋资源网| 色综合天天综合在线视频| 欧美一级特黄视频| 韩国精品久久久| 三级黄色片免费看| 香蕉国产成人午夜av影院| 久久99精品久久久久久秒播放器 | 日韩av影视在线| 色窝窝无码一区二区三区成人网站| 久久久久久久电影| 性猛交娇小69hd| 国产精品地址| 男女超爽视频免费播放| 电影中文字幕一区二区| 91aaaa| 久久久久国产精品嫩草影院| 美女免费免费看网站| 疯狂欧美牲乱大交777| 日韩美女黄色片| 美女一区二区三区| 亚洲精品在线网址| 不卡一区2区| 大桥未久一区二区| 亚洲成人短视频| 亚洲r级在线观看| 国产福利在线看| 久久视频免费在线播放| 福利视频导航网| 3atv在线一区二区三区| 视频二区在线观看| 亚洲麻豆国产自偷在线| 中文字幕亚洲高清| 成人丝袜高跟foot| 四虎影视1304t| 日韩精品三区四区| 日本一区二区三区在线免费观看| 日本电影一区二区| 成品人视频ww入口| 视频一区国产| 亚洲激情一区二区三区| 欧美电影h版| 国产精品久久九九| 日本不卡影院| 国产美女精彩久久| 在线免费av网站| 欧美亚洲成人xxx| 四虎影视2018在线播放alocalhost| 中日韩美女免费视频网址在线观看| 日本黄色入口| 日韩午夜激情av| 久久天堂夜夜一本婷婷麻豆| 色哟哟日韩精品| 粉嫩小泬无遮挡久久久久久| 樱花草国产18久久久久| japanese国产在线观看| 国产亚洲一区二区三区在线观看 | 亚洲青涩在线| 亚洲最大天堂网| 91精品高清| 九色91popny| 日产精品一区二区| 97成人在线观看视频| 亚洲精品亚洲人成在线观看| 国产成人生活片| 成人香蕉社区| 成人黄色片免费| 大型av综合网站| 在线国产精品网| 国产精品麻豆| 在线精品日韩| 97成人精品区在线播放| 久久er这里只有精品| 欧日韩精品视频| 先锋影音二区| 在线观看亚洲一区| www.男人天堂.com| 欧美性色黄大片| 男人女人靠逼视频| 欧美日韩不卡在线| 欧美金发大战黑人最粗videos| 欧美三级电影在线看| 久热中文字幕在线| 4438x亚洲最大成人网| 国产麻豆麻豆| 欧美精品一区二区三区在线播放| 一个人看的www片免费高清视频| 精品福利av导航| 黄色网址网站在线观看| 亚洲欧美一区二区三区情侣bbw| h视频在线观看免费网站| 亚洲四色影视在线观看| 美乳在线观看| 久久99精品国产99久久6尤物| 污污的网站在线观看| 97视频在线观看网址| 在线观看麻豆蜜桃| 成人xxxxx| 日本а中文在线天堂| 精品欧美一区二区久久久伦| 97欧美成人| 欧美日韩情趣电影| 亲爱的老师6电影韩剧| 欧美一二三四在线| 999久久久免费精品国产牛牛| 亚洲国产一区二区三区在线观看 | 四虎亚洲精品| 国产高清自拍99| 91天天综合| 一级一片免费播放| 奇米777国产一区国产二区| 日韩av黄色网址| 亚洲精品在线观看91| yjizz视频| 蜜臀99久久精品久久久久久软件| 天堂网中文在线观看| 久久亚洲综合av| 国内av在线播放| 天天综合网天天综合色| 中文字幕欧美日韩久久| 日韩精品中文字幕一区二区三区 | 99视频免费观看蜜桃视频| 日韩在线免费| 超碰在线免费观看97| 综合干狼人综合首页| 91 视频免费观看| 久久亚洲一区| 欧美黄片一区二区三区| 成人福利小视频| 亚洲精品ww久久久久久p站| 国产 日韩 欧美 精品| 欧美男男青年gay1069videost| 三级黄在线观看| xxav国产精品美女主播| 国产剧情在线观看| 91免费国产网站| 高清欧美日韩| 精品无码国产一区二区三区av | 色偷偷www8888| 国产欧美视频一区二区| 精品人妻一区二区三区换脸明星 | 一区二区三区午夜探花| 亚洲天堂网一区二区| av一区二区三区四区| 中文字幕一区二区在线视频| 色偷偷一区二区三区| 免费观看h片| 色综合久久88色综合天天看泰| 日本精品在线| 欧美高清视频一区| 欧洲专线二区三区| 国产又粗又猛大又黄又爽| 精品系列免费在线观看| 无码人妻av免费一区二区三区| 日韩欧美国产高清91| 日日摸夜夜夜夜夜添| 色综合天天综合网国产成人网 | 九色视频在线播放| 国产精品白丝jk白祙| 精品一区二区男人吃奶| 成人性生交视频免费观看| 国产麻豆精品在线观看| 中文字幕日日夜夜| 欧美精品视频www在线观看 | 精品蜜桃传媒| 国产欧美日韩免费观看| 特级西西人体4444xxxx| 91蝌蚪porny| 欧美一区二区公司| 亚洲欧美激情在线视频| 久久精品xxxxx| 久久这里精品国产99丫e6| 九九热播视频在线精品6| 91性高潮久久久久久久| 成人深夜福利app| 国产免费无遮挡| 欧美不卡一区二区三区四区| 中文字幕在线视频免费观看| 99久久自偷自偷国产精品不卡| 99re热精品视频| 精品人妻一区二区三| 成人午夜av电影| 亚洲国产精品成人久久蜜臀| 日韩精品在线视频| 成年人视频在线看| 日韩成人在线资源| 亚洲九九视频| 男女羞羞免费视频| 欧美日韩国产页| 成人禁在线观看网站| 成人天堂噜噜噜| 国产一区二区三区亚洲| 日韩午夜精品电影| 国产又粗又猛又黄又爽| 欧美四级电影网| 亚洲美女在线免费观看| 超碰97在线资源| 午夜精品福利影院| 国产熟妇久久777777| 亚洲丝袜自拍清纯另类| 在线观看视频h| 欧美一区二区三区免费观看| 欧美天堂在线| 欧美成人一区二区三区| 欧美著名女优| 久久精品中文字幕一区二区三区 | 青娱乐国产盛宴| 色综合网色综合| 91美女在线| 久久久久网址| 一区二区三区在线观看免费| 久久激情免费视频| 欧美日韩精品免费| 日本一区视频| 亚洲精品成人自拍| 先锋影音久久久| 中文字幕一区二区人妻痴汉电车| 亚洲精品国产品国语在线| 黄色成人在线| 久激情内射婷内射蜜桃| 国产麻豆视频精品| 好男人官网在线| 久久久久久久激情视频| 白嫩亚洲一区二区三区| 69亚洲乱人伦| 亚洲猫色日本管| 成人网18免费软件大全| 国产精品免费观看高清| 午夜欧美理论片| 亚洲欧美自拍视频| 亚洲国产精品久久久久秋霞蜜臀 | 久章草在线视频| 91香蕉国产线在线观看| 国内成人精品2018免费看| 精品黑人一区二区三区在线观看| 中文字幕亚洲综合| 日韩电影免费观| 亚洲精品乱码久久久久久9色| 国产精品福利在线播放| 黄色网战在线观看| 国产91社区| 国内自拍一区| 国产女优在线播放| 亚洲午夜久久久久久久| 最近在线中文字幕| 自拍视频第一页| 亚洲综合激情小说| 免费黄色网页| 色999五月色| 青青草原综合久久大伊人精品优势 | 成人网在线免费观看| 91麻豆国产自产在线观看亚洲| 国产成人精品片| 亚洲美女免费精品视频在线观看| 中文字幕资源网在线观看免费| 欧美色图校园春色| 亚洲综合一区二区精品导航| 无夜福利视频观看| 国产精品99久久久久久大便| 精品影院一区二区久久久| 色综合久久五月天| 国产精品免费小视频| 日韩av大片| 日韩综合在线观看| 伊人亚洲福利一区二区三区| 91九色综合| 一区二区三区伦理片| 欧美性一二三区| 国产鲁鲁视频在线观看特色| 日本久久久久久久久久久久| 国产精品久久久久久久久搜平片| www.97.| 一区二区三区四区五区视频| 国产一区福利在线| 国产精品yjizz视频网一二区| 91视频在线免费观看| 日韩午夜激情| 黄色aaa毛片| 欧洲精品在线视频| 91久久国产| 国产三级在线观看视频| 久久免费在线观看| 欧美亚洲在线日韩| 免费黄色片视频| 欧美成人合集magnet| 韩国精品福利一区二区三区| 精品无码久久久久| 亚洲欧美日韩在线一区| 亚洲精品一区二区在线播放∴| 中文在线资源天堂| 国产精品美女www爽爽爽| 97蝌蚪自拍自窝| 性欧美精品一区二区三区在线播放 | 91免费精品国自产拍在线不卡| h视频在线免费看| 亚洲不卡中文字幕| 国产一区二区调教| 碰碰视频免费| 色视频一区二区三区| 国产寡妇亲子伦一区二区| 日日骚.com| 日本一区高清不卡| 国产99久久久国产精品免费看| 色偷偷网站视频| 日韩电影天堂视频一区二区| 国产伦精品一区二区三区视频青涩| 影音先锋2020资源| 日本一区视频在线播放| 国产成人精品午夜视频免费| h视频免费高清在线观看| 一区二区三区观看| 91亚洲国产成人精品一区二区三| 国产毛片视频| 福利视频一二区| 亚洲欧美日韩在线| 超碰免费在线观看| 人妻巨大乳一二三区| 欧美天堂亚洲电影院在线播放| 麻豆理论在线观看| 欧美激情aaa| 日本成人三级电影网站| 国产精品久久久久久麻豆一区软件| 97超碰国产在线| 日韩av片免费在线观看|