Java中的arrays類的sort方法

Java中的arrays類的sort方法

深圳達(dá)內(nèi)教育      2022-03-28 20:50:01     10

Java中的arrays類的sort方法,Arrays.sort()方法雖然功能強(qiáng)大,但是在平常的使用中難免會(huì)出現(xiàn)各種情況使得其無法滿足我們的需求,這個(gè)時(shí)候就該用到:Arrays.so

課程價(jià)格 請(qǐng)咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

Arrays.sort()方法雖然功能強(qiáng)大,但是在平常的使用中難免會(huì)出現(xiàn)各種情況使得其無法滿足我們的需求,這個(gè)時(shí)候就該用到:
Arrays.sort(a,fromIndex,toIndex,c);
這種用法了
先對(duì)方法中的各項(xiàng)參數(shù)進(jìn)行解釋:
a——需要進(jìn)行排序的對(duì)象
fromIndex——排序進(jìn)行的起始位置
toIndex——排序的終止位置
c——自定義的排序規(guī)則
實(shí)現(xiàn)的代碼如下:

import?java.util.Arrays;import?java.util.Comparator;import?java.util.Scanner;//定義類aclass?a{????int?n;}//定義類cmp,制定排序規(guī)則class?cmp?implements?Comparator{????public?int?compare(a?A,?a?B)?{????????if(A.n?>?B.n)return?-1;????????if(A.n?==?B.n)return?0;????????if(A.n?<?B.n)return?1;????????return?0;????}}public?class?Main{????public?static?void?main(String?args[]){????????Scanner?sc?=?new?Scanner(System.in);????????while(sc.hasNext()){????????????int?n?=?sc.nextInt();????????????a?t[]?=?new?a?[n];????????????for(int?i?=?0;i?<?n;i++){????????????????t[i]?=?new?a();//為類分配內(nèi)存必不可少????????????????t[i].n?=?sc.nextInt();????????????}????????????Arrays.sort(t,0,n,new?cmp());????????????for(int?i?=?0;i?<?n;i++)????????????????System.out.print(t[i].n+"?");????????????System.out.println();????????}????}}

它的效果是對(duì)含有一個(gè)int型成員變量n的類a的數(shù)組按n的大小進(jìn)行降序排序
在上面給出的代碼中,最為關(guān)鍵的地方在于這一段:

//定義類cmp,制定排序規(guī)則class cmp implements Comparator{    public int compare(a A, a B) {        if(A.n > B.n)return -1;        if(A.n == B.n)return 0;        if(A.n < B.n)return 1;        return 0;    }}在compare(

PS:如果方法的應(yīng)用對(duì)象是類,那么對(duì)于每一個(gè)對(duì)象來說,這一段都是必不可少的:
t[i] = new a();//為類分配內(nèi)存必不可少
以上就是深圳達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中的arrays類的sort方法”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。