java升序輸出數(shù)組 為什么java的arrays類的sort方法對對象數(shù)組采用合并排序,而對基本類型數(shù)組卻采用快速排序?
為什么java的arrays類的sort方法對對象數(shù)組采用合并排序,而對基本類型數(shù)組卻采用快速排序?java中的arrays類的sort方法對于基本數(shù)據(jù)類型默認(rèn)的是進(jìn)行升序排列,比如:sort(int
為什么java的arrays類的sort方法對對象數(shù)組采用合并排序,而對基本類型數(shù)組卻采用快速排序?
java中的arrays類的sort方法對于基本數(shù)據(jù)類型默認(rèn)的是進(jìn)行升序排列,比如:sort(int [] arr) 、sort(double [] arr)等等;
還有的時(shí)可以限制范圍排序,以下是在JDK的API中找到的:
從圖中可以看到在倒數(shù)第二和第三行中對于對象數(shù)組的排序也是默認(rèn)升序,但在輸入這行代碼之前要完成一個(gè)對你所要排序的對象數(shù)組的comparable的接口。以它為標(biāo)準(zhǔn)來進(jìn)行排序,具體怎么做看下圖:
Java中對數(shù)組升序排列用Arrays.sort( )方法,那降序排列用什么方法?
按照升序排列,如果對于實(shí)現(xiàn)了comparable接口的類來說,則是在執(zhí)行int compareTo(Object o)方法,返回為1的放在后面,如A類實(shí)現(xiàn)了comparable接口,A類有a1,a2兩個(gè)對象,如果a1.compareTo(a2)的值為1,則表示a1>a2,sort之后,為 a2,a1