網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

arrays。sort|java

欄目: IT科技 / 發佈於: / 人氣:1W
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java arrays.sort是什麼,讓我們一起了解一下?

Arrays.sort是指sort(byte[] a)和sort(long[] a)兩種排序方法,中文叫數組名,使用這兩種方法可以對數字在指定的範圍內排序。但在java.util這個包裏面,用到的時候需要先將它匯入。

Java的Arrays類中的sort()方法,該方法是Arrays類的靜態方法,需要對數組進行排序。

其實sort()的參數有好幾種,那麼最常用的是哪一種?

即對一個數組的所有元素進行排序,並且是按從小到大的順序。示例如下:

1 import java.util.Arrays;23 public class Main {4     public static void main(String[] args) {5        6         int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};7         Arrays.sort(a);8         for(int i = 0; i < a.length; i ++) {9             System.out.print(a[i] + " ");10         }11     }1213 }

執行結果如下:

0 1 2 3 4 5 6 7 8 9

java arrays.sort

另外我們也經常用到的是Arrays.sort(int[] a, int fromIndex, int toIndex),這種形式是對數組部分排序,也就是對數組a的下標從fromIndex到toIndex-1的元素排序,注意:下標爲toIndex的元素不參與排序哦!

還有public static <T> void sort(T[] a,int fromIndex, int toIndex,  Comparator<? super T> c),但是操作時會發現,排列順序只能是從小到大,如果我們要從大到小,就要使用另外一種方式,這裏牽扯到了Java裏面的泛型。

示例如下:

1 package test;23 import java.util.Arrays;4 import java.util.Comparator;56 public class Main {7     public static void main(String[] args) {8         //注意,要想改變默認的排列順序,不能使用基本類型(int,double, char)9         //而要使用它們對應的類10         Integer[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};11         //定義一個自訂類MyComparator的對象12         Comparator cmp = new MyComparator();13         Arrays.sort(a, cmp);14         for(int i = 0; i < a.length; i ++) {15             System.out.print(a[i] + " ");16         }17     }18 }19 //Comparator是一個接口,所以這裏我們自己定義的類MyComparator要implents該接口20 //而不是extends Comparator21 class MyComparator implements Comparator<Integer>{22     @Override23     public int compare(Integer o1, Integer o2) {24         //如果o1小於o2,我們就返回正值,如果o1大於o2我們就返回負值,25         //這樣顛倒一下,就可以實現反向排序了26         if(o1 < o2) {27             return 1;28         }else if(o1 > o2) {29             return -1;30         }else {31             return 0;32         }33     }34    35 }

其實本質還是沒有太大區別的,就是多了一個Comparator類型的參數而已。

Tags:java arrayssort