java中array的sort方法 Java中對數組升序排列用Arrays.sort( )方法,那降序排列用什么方法?
Java中對數組升序排列用Arrays.sort( )方法,那降序排列用什么方法?如果實現可比較接口的類執(zhí)行int CompareTo(object o)方法,則返回1的類將放在它后面。例如,類a實現
Java中對數組升序排列用Arrays.sort( )方法,那降序排列用什么方法?
如果實現可比較接口的類執(zhí)行int CompareTo(object o)方法,則返回1的類將放在它后面。例如,類a實現了可比較的接口,類a有A1和A2對象。如果A1的值。CompareTo(A2)為1,表示A1>A2,sort后跟A2和A1
Java中arrays類的sort方法默認是對基本數據類型按升序排序,如sort(int[]ARR)和sort(double[]JDK API中有如下內容:
如圖所示,倒數第二行和第三行中的對象數組排序也是默認的升序,但是在輸入這行代碼之前,需要為要排序的對象數組完成一個可比較的接口。以此為標準進行排序。詳見下圖:~數組.排序方法的一個參數默認按升序排列。您希望按降序排列第一個方法重載的兩個參數數組.排序對于第二個參數,您需要自定義一個comparator類來實現comacomparator接口,并根據需要重置compare方法。]第二種方法首先按升序進行,然后調用數組的asList方法將其轉換為數組,然后調用集合的reverse方法將其按逆序排列,最后調用集合的toArray方法將其轉換為數組。
為什么java的arrays類的sort方法對對象數組采用合并排序,而對基本類型數組卻采用快速排序?
這類問題一般看源代碼是最直接的解決方案。閱讀源代碼之后,您應該了解sort方法將元素轉換為可比較的類型,然后調用compareTo方法。因此,我們必須實現comparable接口并提供CompareTo方法。此外,這是面向接口的好處。希望對你有所幫助,哦(∩)謝謝