欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java自帶排序使用

 更新時(shí)間:2022年01月25日 09:21:56   作者:wow_awsl_qwq  
這篇文章主要給大家分享了java自帶排序使用,該方法是升序排序,方法的內(nèi)部采用了快排實(shí)現(xiàn),但該方法是?穩(wěn)定的。下面一起來看看文章的詳細(xì)介紹吧

基本類型排序:

int a[]={1,2,5,3,6,4};
Arrays.sort(a);//對a升序排序
Arrays.sort(a,0,6);//對a從下標(biāo)0,到下標(biāo)5排序

自定義類型排序:

static Student b[]=new Student [4];
for(int i=0;i<4;++i)b[i]=new Student("str", 4-i);
Arrays.sort(b,new Mcompeter());//對數(shù)組所有元素排序,Comparator可以用實(shí)例,也可以匿名對象
Arrays.sort(b,0,4,new Mcompeter());//對數(shù)組從下標(biāo)0到3排序

static class Student {
     public String name;
     public int age;
     
     public Student(String name,int age){
        this.name = name;
        this.age = age;
     }
     
     public String toString() {
      return "Student [name=" + name + ", age=" + age + "]";
     }
}
static class Mcompeter implements Comparator<Student> 
 {
  @Override
  public int compare(Student o1, Student o2) {
   // TODO 自動(dòng)生成的方法存根
   if(o1.name.compareTo(o2.name)==0)
   {
    return o1.age-o2.age;
   }
   else return o1.name.compareTo(o2.name);
  }
 }

比較函數(shù)的寫法:

參考:http://www.dbjr.com.cn/article/232347.htm

比較邏輯:

  • o1 < o2 ---- 返回負(fù)數(shù)
  • o1 = o2 ---- 返回 0
  • o1 > o2 ---- 返回正數(shù)

人都繞暈了。。。

理一下思路:

排序函數(shù)默認(rèn)從小到大排序
那么怎么界定誰大誰小呢,給排序函數(shù)一個(gè)比較函數(shù)

那么比較函數(shù)已經(jīng)有兩個(gè)參數(shù)了,怎么表示o1,o2的大小關(guān)系呢?

就是邏輯如下:

o1  <  o2   ---- 返回負(fù)數(shù)
o1  =  o2   ---- 返回 0
o1  >  o2   ---- 返回正數(shù)

  • 返回負(fù)數(shù)表示o1<o2
  • 返回0 表示相等
  • 返回正數(shù)表示o1>o2

要把排序函數(shù)和比較函數(shù)分離開

他們是獨(dú)立實(shí)現(xiàn)功能的函數(shù),只要保證他們自己的正確即可

寫比較函數(shù)需要做的就是:

  • 在o1<o2時(shí)返回負(fù)數(shù)
  • 在o1=o2時(shí)返回0
  • 在o1>o2時(shí)返回整數(shù)

其中的"<"和“>”不一定是真實(shí)數(shù)值意義上的小于和大于,而是你希望的小于和大于。

比如o1 o2都為int

if(o1>o2) return -1;

那么o1的值比o2大就是我定義的“小于”

到此這篇關(guān)于java自帶排序使用的文章就介紹到這了,更多相關(guān)java自帶排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • idea自定義快捷代碼生成模板的方法

    idea自定義快捷代碼生成模板的方法

    這篇文章主要介紹了idea自定義快捷代碼生成模板的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • java Arrays快速打印數(shù)組的數(shù)據(jù)元素列表案例

    java Arrays快速打印數(shù)組的數(shù)據(jù)元素列表案例

    這篇文章主要介紹了java Arrays快速打印數(shù)組的數(shù)據(jù)元素列表案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java數(shù)組的聲明與創(chuàng)建示例詳解

    Java數(shù)組的聲明與創(chuàng)建示例詳解

    這篇文章主要介紹了Java數(shù)組的聲明與創(chuàng)建示例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 詳解Java-Jackson使用

    詳解Java-Jackson使用

    這篇文章主要介紹了Java-Jackson使用詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 淺談springboot 屬性定義

    淺談springboot 屬性定義

    本篇文章主要介紹了淺談springboot 屬性定義,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • IDEA通過git回滾到某個(gè)提交節(jié)點(diǎn)或某個(gè)版本的操作方法

    IDEA通過git回滾到某個(gè)提交節(jié)點(diǎn)或某個(gè)版本的操作方法

    這篇文章主要介紹了IDEA通過git回滾到某個(gè)提交節(jié)點(diǎn)或某個(gè)版本的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Spring MVC---數(shù)據(jù)綁定和表單標(biāo)簽詳解

    Spring MVC---數(shù)據(jù)綁定和表單標(biāo)簽詳解

    本篇文章主要介紹了Spring MVC---數(shù)據(jù)綁定和表單標(biāo)簽詳解,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • Java OpenCV圖像處理之背景消除

    Java OpenCV圖像處理之背景消除

    GMM(高斯混合模型)是基于像素樣本統(tǒng)計(jì)信息的背景表示方法,利用像素在較長時(shí)間內(nèi)大量樣本值的概率密度等統(tǒng)計(jì)信息表示別境,然后使用統(tǒng)計(jì)差分進(jìn)行目標(biāo)像素判斷達(dá)到預(yù)期效果。本文將利用GMM方法實(shí)現(xiàn)圖像背景消除,需要的可以參考一下
    2022-02-02
  • Springboot整合多數(shù)據(jù)源代碼示例詳解

    Springboot整合多數(shù)據(jù)源代碼示例詳解

    這篇文章主要介紹了Springboot整合多數(shù)據(jù)源代碼示例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Spring?boot2.0?實(shí)現(xiàn)日志集成的方法(3)

    Spring?boot2.0?實(shí)現(xiàn)日志集成的方法(3)

    這篇文章主要介紹了Spring?boot2.0?實(shí)現(xiàn)日志集成的方法,基于上一篇將日志信息根據(jù)類別輸出到不同的文件中,這篇文章將通過日志來監(jiān)控用戶的操作行為、請求的耗時(shí)情況,針對耗時(shí)久的請求進(jìn)行性能分析,提升系統(tǒng)性能,需要的小伙伴可以參考一下
    2022-04-04

最新評(píng)論