java arrays.sort是什么,讓我們一起了解一下?
Arrays.sort是指sort(byte[] a)和sort(long[] a)兩種排序方法,中文叫數組名,使用這兩種方法可以對數字在指定的范圍內排序。但在java.util這個包里面,用到的時候需要先將它導入。
Java的Arrays類中的sort()方法,該方法是Arrays類的靜態(tài)方法,需要對數組進行排序。
其實sort()的參數有好幾種,那么最常用的是哪一種?
即對一個數組的所有元素進行排序,并且是按從小到大的順序。示例如下:
1?import?java.util.Arrays; 2 3?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?運行結果如下:
0?1?2?3?4?5?6?7?8?9
另外我們也經常用到的是Arrays.sort(int[] a, int fromIndex, int toIndex),這種形式是對數組部分排序,也就是對數組a的下標從fromIndex到toIndex-1的元素排序,注意:下標為toIndex的元素不參與排序哦!
還有public static
void sort(T[] a,int fromIndex,?int toIndex,??Comparator super T> c),但是操作時會發(fā)現(xiàn),排列順序只能是從小到大,如果我們要從大到小,就要使用另外一種方式,這里牽扯到了Java里面的泛型。 示例如下:
1?package?test; 2 3?import?java.util.Arrays; 4?import?java.util.Comparator; 5 6?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?{ 22?????@Override 23?????public?int?compare(Integer?o1,?Integer?o2)?{ 24?????????//如果o1小于o2,我們就返回正值,如果o1大于o2我們就返回負值, 25?????????//這樣顛倒一下,就可以實現(xiàn)反向排序了 26?????????if(o1??o2)?{ 29?????????????return?-1; 30?????????}else?{ 31?????????????return?0; 32?????????} 33?????} 34???? 35?}其實本質還是沒有太大區(qū)別的,就是多了一個Comparator類型的參數而已。
以上就是小編今天的分享了,希望可以幫助到大家。