在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    java中對類進行排序

    java類排序(藍橋杯必學(xué))

    我們知道c++中有時候需要對結(jié)構(gòu)體進行一些排序

    可以直接調(diào)用sort(數(shù)組,排序方法);

    而java中有時候需要對類進行指定的排序~

    前導(dǎo)知識:

    數(shù)組:(不論是int,char,String類型的數(shù)組)都調(diào)用 Arrays . sort() 排序即可

    結(jié)構(gòu)體: 首先要將它存放在集合中,在對其進行排序,調(diào)用 Collections . sort()排序,此時需要重新構(gòu)造排序方法(但是例如TreeMap , TreeSet , PriorityQueue,等自帶排序的集合,需要在初始化時就對其進行排序重寫 )

    對應(yīng)習(xí)題

    方法如下:

    類:

    class person{

    int age;

    String name;

    person(){}

    person(int age,String name){

    this.age=age;

    this.name=name;

    }

    }

    方法1:(這種lambda表達式只能支持,根據(jù)結(jié)構(gòu)體中單獨一個元素進行排序):

    public class Solution{

    public ArrayList merge(ArrayList persons){

    ArrayList res=new ArrayList();

    //排序方式:(根據(jù)類中年齡升序排序)

    //解釋:對persons(person類)變量進行排序,a與b是兩個person類的變量,若a.age-b.age>0則a排在b前,否則b排在a前(升序)

    Collections.sort(persons,(a,b)->a.age-b.age);

    for(int i=0;i<persons.size();i++){

    res.add(persons.get(i));

    }

    return res;

    }

    }

    方法2:(針對不自帶排序的集合進行排序重寫):

    public class Solution{

    public ArrayList merge(ArrayList persons){

    ArrayList res=new ArrayList();

    Collections.sort(res,new Comparator(){

    @Override

    public int compare(person p1,person p2){

    int r1=p1.age-p2.age;

    if(r1!=0)return r1;

    return p1.name.compareTo(p2.name);

    }

    });

    for(int i=0;i<persons.size();i++){

    res.add(persons.get(i));

    }

    return res;

    }

    }

    方法3:(針對自帶排序的結(jié)合進行排序重寫)

    public class Solution{

    public TreeSet merge(TreeSet persons){

    TreeSet res=new TreeSet(new Comparator(){

    @override

    public int compare(person p1,person p2){

    int r1=p1.age-p2.age;

    if(r1!=0)return r1;

    return p1.name.compareTo(p2.name);

    }

    });

    for(int i=0;i<persons.size();i++){

    res.add(persons.get(i));

    }d

    return res;

    }

    }

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月19日 18:07
    下一篇 2022年6月19日 18:07

    相關(guān)推薦

    • 分享4條發(fā)微商朋友圈的方法(微商朋友圈應(yīng)該怎么發(fā))

      對于微商朋友來說,朋友圈的重要性不言而喻了。 那么微商的朋友圈到底該怎么發(fā)呢? 為什么同樣是經(jīng)營一個朋友圈,有的微商看起來逼格滿滿,實際效果也不錯;而有的卻動都不動就被屏蔽甚至拉黑…

      2022年11月27日
    • 存儲過程語法(sql server存儲過程語法)

      今天小編給各位分享存儲過程語法的知識,其中也會對sql server存儲過程語法進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! oracle存儲過程基本語法…

      2022年11月26日
    • 《寶可夢朱紫》夢特性怎么獲得?隱藏特性獲取方法推薦

      寶可夢朱紫里有很多寶可夢都是擁有夢特性會變強的寶可夢,很多玩家不知道夢特性怎么獲得,下面就給大家?guī)韺毧蓧糁熳想[藏特性獲取方法推薦,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 …

      2022年11月25日
    • 《寶可夢朱紫》奇魯莉安怎么進化?奇魯莉安進化方法分享

      寶可夢朱紫中的奇魯莉安要怎么進化呢?很多玩家都不知道,下面就給大家?guī)韺毧蓧糁熳掀骠斃虬策M化方法分享,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 奇魯莉安進化方法分享 奇魯莉安…

      2022年11月25日
    • 園屬于什么結(jié)構(gòu)(園的結(jié)構(gòu)和部首)

      園 yuán:全包圍結(jié)構(gòu),平穩(wěn)端正中稍帶左收右展。 外部“口” 體態(tài)端莊,稍抗肩,稍帶左輕右重。左豎起筆稍抖,豎身勿重,稍左斜,垂露收筆;第二筆橫折壓著左豎起筆,橫畫稍抗肩,不要重…

      2022年11月24日
    • 《寶可夢朱紫》暴飛龍怎么抓?暴飛龍獲得方法

      寶可夢朱紫暴飛龍位置在哪?在游戲中,很多玩家還不清楚暴飛龍具體要怎么樣獲得,其實獲得方法很簡單,暴飛龍直接是沒得抓的,需要玩家從寶貝龍進化得到,下面一起來看一下寶可夢朱紫暴飛龍獲得…

      2022年11月23日
    • 《寶可夢朱紫》布土撥怎么進化?布土撥進化方法介紹

      寶可夢朱紫中,不同的寶可夢有不同的進化方法,其中布土撥的進化方法是比較特殊的。很多玩家不知道寶可夢朱紫布土撥怎么進化,下面就帶來寶可夢朱紫布土撥進化方法介紹,一起來看看吧,希望能幫…

      2022年11月23日
    • 《寶可夢朱紫》薄荷怎么獲得?薄荷獲得方法

      寶可夢朱紫中薄荷有改變寶可夢的屬性或性格等效果,很多玩家想知道寶可夢朱紫薄荷怎么獲得,下面就帶來寶可夢朱紫薄荷獲得方法,感興趣的小伙伴一起來看看吧,希望能幫助到大家。 薄荷獲得方法…

      2022年11月23日
    • 《寶可夢朱紫》怎么交換精靈?交換精靈方法一覽

      寶可夢朱紫中玩家可以和好友或者npc進行交換寶可夢獲得自己沒有的寶可夢,很多玩家想知道寶可夢朱紫怎么交換精靈,下面就帶來寶可夢朱紫交換精靈方法一覽,感興趣的小伙伴不要錯過,希望能幫…

      2022年11月23日
    • 《寶可夢朱紫》龍爪技能怎么獲得?龍爪技能獲取方法

      寶可夢朱紫龍爪技能怎么獲得?在游戲中,很多玩家還不清楚龍爪技能應(yīng)該怎么獲取,其實獲取方法有很多,下面一起來看一下寶可夢朱紫龍爪技能獲取方法,希望可以幫助各位玩家順利的進行游戲內(nèi)容?!?/p>

      2022年11月23日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息