最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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);//對(duì)a升序排序
Arrays.sort(a,0,6);//對(duì)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());//對(duì)數(shù)組所有元素排序,Comparator可以用實(shí)例,也可以匿名對(duì)象
Arrays.sort(b,0,4,new Mcompeter());//對(duì)數(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://m.fzitv.net/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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

最新評(píng)論

吉安县| 阳高县| 常州市| 昆明市| 收藏| 南投县| 肇东市| 灌南县| 石柱| 县级市| 商城县| 遂溪县| 吉安县| 娱乐| 辽宁省| 元阳县| 南郑县| 定州市| 台安县| 拉萨市| 赫章县| 普定县| 伊川县| 常熟市| 邵东县| 五原县| 都匀市| 龙里县| 安岳县| 宁阳县| 西乡县| 信宜市| 房山区| 常德市| 宁明县| 江都市| 周至县| 玛多县| 临夏市| 遵义市| 敦化市|