黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java sort數(shù)組排序詳解

Java sort數(shù)組排序詳解

更新時間:2022-11-07 11:13:27 來源:動力節(jié)點 瀏覽1846次

我們在學習 Java 的過程中肯定會遇到對數(shù)組進行升序或降序等排序問題,本節(jié)主要介紹如何實現(xiàn) Java 數(shù)組的升序和降序。Java 語言使用 Arrays 類提供的 sort() 方法來對數(shù)組進行排序。

升序

使用 java.util.Arrays 類中的 sort() 方法對數(shù)組進行升序分為以下兩步:

導入 java.util.Arrays 包。

使用 Arrays.sort(數(shù)組名) 語法對數(shù)組進行排序,排序規(guī)則是從小到大,即升序。

假設(shè)在數(shù)組 scores 中存放了 5 名學生的成績,現(xiàn)在要實現(xiàn)從低到高排列的功能。在這里使用 Arrays.sort() 方法來實現(xiàn),具體代碼如下:

public static void main(String[] args) {
  // 定義含有5個元素的數(shù)組
  double[] scores = new double[] { 78, 45, 85, 97, 87 };
  System.out.println("排序前數(shù)組內(nèi)容如下:");
  // 對scores數(shù)組進行循環(huán)遍歷
  for (int i = 0; i < scores.length; i++) {
    System.out.print(scores[i] + "\t");
  }
  System.out.println("\n排序后的數(shù)組內(nèi)容如下:");
  // 對數(shù)組進行排序
  Arrays.sort(scores);
  // 遍歷排序后的數(shù)組
  for (int j = 0; j < scores.length; j++) {
    System.out.print(scores[j] + "\t");
  }
}

如上述代碼所示,要對一個數(shù)組進行升序排列,只需要調(diào)用 Arrays.sort() 方法即可。運行后的輸出結(jié)果如下所示。

排序前數(shù)組內(nèi)容如下:
78.0    45.0    85.0    97.0    87.0  
排序后的數(shù)組內(nèi)容如下:
45.0    78.0    85.0    87.0    97.0

降序

在 Java 語言中使用 sort 實現(xiàn)降序有兩種方法,簡單了解即可。

1.利用 Collections.reverseOrder() 方法(Collections 是一個Java包裝類

public static void main(String[] args) {
  Integer[] a = { 9, 8, 7, 2, 3, 4, 1, 0, 6, 5 };  // 數(shù)組類型為Integer
  Arrays.sort(a, Collections.reverseOrder());
  for (int arr : a) {
    System.out.print(arr + " ");
  }
}
輸出結(jié)果如下:
9 8 7 6 5 4 3 2 1 0

2.實現(xiàn) Comparator 接口的復寫 compare() 方法,代碼如下:

public class Test {
  public static void main(String[] args) {
    /*
     * 注意,要想改變默認的排列順序,不能使用基本類型(int,double,char)而要使用它們對應(yīng)的類
     */
    Integer[] a = { 9, 8, 7, 2, 3, 4, 1, 0, 6, 5 };
    // 定義一個自定義類MyComparator的對象
    Comparator cmp = new MyComparator();
    Arrays.sort(a, cmp);
    for (int arr : a) {
      System.out.print(arr + " ");
    }
  }
}
// 實現(xiàn)Comparator接口
class MyComparator implements Comparator<Integer> {
  @Override
  public int compare(Integer o1, Integer o2) {
    /*
     * 如果o1小于o2,我們就返回正值,如果o1大于o2我們就返回負值, 這樣顛倒一下,就可以實現(xiàn)降序排序了,反之即可自定義升序排序了
     */
    return o2 - o1;
  }
}
輸出結(jié)果如下所示。
9 8 7 6 5 4 3 2 1 0

注意:使用以上兩種方法時,數(shù)組必須是包裝類型,否則會編譯不通過。

在 Java 中實現(xiàn)數(shù)組排序的方式很多,除了利用以上的幾種方法外,還可以編寫自定義方法來實現(xiàn)自己的排序算法,有興趣的讀者可以嘗試編寫。

Java排序方法sort的使用詳解

對數(shù)組的排序:

//對數(shù)組排序
public void arraySort(){
  int[] arr = {1,4,6,333,8,2};
  Arrays.sort(arr);//使用java.util.Arrays對象的sort方法
  for(int i=0;i<arr.length;i++){
    System.out.println(arr[i]);
  }
}

對集合的排序:

//對list升序排序
  public void listSort1(){
    List<Integer> list = new ArrayList<Integer>();
    list.add(1);
    list.add(55);
    list.add(9);
    list.add(0);
    list.add(2);
    Collections.sort(list);//使用Collections的sort方法
    for(int a :list){
      System.out.println(a);
    }
  }
  //對list降序排序
  public void listSort2(){
    List<Integer> list = new ArrayList<Integer>();
    list.add(1);
    list.add(55);
    list.add(9);
    list.add(0);
    list.add(2);
    Collections.sort(list, new Comparator<Integer>() {
      public int compare(Integer o1, Integer o2) {
        return o2 - o1;
      }
    });//使用Collections的sort方法,并且重寫compare方法
    for(int a :list){
      System.out.println(a);
    }
  }

以上就是關(guān)于“Java sort數(shù)組排序詳解”的介紹,大家如果想了解更多相關(guān)知識,不妨來關(guān)注一下本站的Java基礎(chǔ)教程,里面還有更豐富的知識等著大家去學習,希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 在线观看黄网站免费继续 | 国产一级高清视频免费看 | 麻豆成人久久精品二区三区小说 | 福利视频欧美一区二区三区 | 国产高清精品入口麻豆 | 天天干人人干 | 全免费午夜一级毛片真人 | www.久久精品视频 | 人人艹在线视频 | 怡红院美国十次成人影院 | 国产精品国内免费一区二区三区 | 2019年中文字字幕视频 | avtt一区| 日韩精品福利片午夜免费 | 国产一级aaa全黄毛片 | 欧美日本韩国一区 | 成年性生交大片免费看 | 久久午夜网 | 亚洲另类图 | 欧美成人精品欧美一级乱黄 | 老司机午夜免费福利 | 国产亚洲综合色就色 | 欧美一级网站 | 免费看h片的网站 | 日本三级香港三级网站 | 女攻男受高h全文肉肉 | 中文字幕精品视频在线观看 | 久久青草18免费观看网站 | 国产精品久久久久久搜索 | 国产一级特黄aa大片在线 | 高h辣肉各种姿势爽文bl | 精品视频久久 | 色噜噜狠狠色综合日日 | 伊人久久大香线蕉综合7 | 色噜噜噜| 亚洲男人天堂网站 | 久久久91精品国产一区二区三区 | 亚洲 欧美 成人日韩 | 日本天堂网站 | 国产亚洲午夜精品 | 日韩中文视频 |