国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

詳解Java sort()數組排序(升序和降序)

瀏覽:4日期:2022-08-18 08:36:05

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

升序

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

導入 java.util.Arrays 包。 使用 Arrays.sort(數組名) 語法對數組進行排序,排序規則是從小到大,即升序。

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

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

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

排序前數組內容如下:78.0 45.0 85.0 97.0 87.0 排序后的數組內容如下:45.0 78.0 85.0 87.0 97.0

降序

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

1)利用 Collections.reverseOrder() 方法(Collections 是一個包裝類。大家可以學習《Java Collections類》一節詳細了解):

public static void main(String[] args) { Integer[] a = { 9, 8, 7, 2, 3, 4, 1, 0, 6, 5 }; // 數組類型為Integer Arrays.sort(a, Collections.reverseOrder()); for (int arr : a) { System.out.print(arr + ' '); }}

輸出結果如下:9 8 7 6 5 4 3 2 1 0

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

public class Test { public static void main(String[] args) { /* * 注意,要想改變默認的排列順序,不能使用基本類型(int,double,char)而要使用它們對應的類 */ 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 + ' '); } }}// 實現Comparator接口class MyComparator implements Comparator<Integer> { @Override public int compare(Integer o1, Integer o2) { /* * 如果o1小于o2,我們就返回正值,如果o1大于o2我們就返回負值, 這樣顛倒一下,就可以實現降序排序了,反之即可自定義升序排序了 */ return o2 - o1; }}

輸出結果如下所示。9 8 7 6 5 4 3 2 1 0

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

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

Java排序方法sort的使用詳解

對數組的排序:

//對數組排序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); } }

到此這篇關于詳解Java sort()數組排序(升序和降序)的文章就介紹到這了,更多相關Java sort()數組排序內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 免费欧美在线视频 | 欧美一级毛片免费网站 | 久久久久久久国产精品影院 | 国产成人毛片精品不卡在线 | 久久久久久国产精品视频 | 久久久久毛片成人精品 | 亚洲精品国产经典一区二区 | 国产欧美精品三区 | 成年男女的免费视频网站 | 国产呦精品一区二区三区网站 | 欧美日韩一本 | 精品久久一区 | 国产精品毛片va一区二区三区 | 亚洲人成在线影院 | 国内一级特黄女人精品片 | 国产午夜精品理论片久久影视 | 亚洲欧美中文日韩二区一区 | 欧美日韩一区二区三区视频播 | 亚洲精品一区二区三区在线观看 | 精品在线视频观看 | a级日韩乱理伦片在线观看 a级特黄毛片免费观看 | 色老头老太做爰视频在线观看 | 一区二区国产在线观看 | 国产黄色一级网站 | 99久久精品毛片免费播放 | 多人伦精品一区二区三区视频 | 国产成人免费午夜在线观看 | 99精品欧美一区二区三区 | 在线a人片免费观看国产 | 伊大人香蕉久久网欧美 | 亚洲自拍中文 | 贵州美女一级纯黄大片 | 国产人成 | 久久久久9999 | 97久久精品视频 | 日韩欧美视频一区二区 | 成人国产永久福利看片 | 男女乱淫真视频免费观看 | 亚洲手机看片 | 精品欧美一区二区三区在线观看 | 久草免费福利视频 |