更新時(shí)間:2020-08-03 15:05:57 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽4697次
Arrays.sort()方法雖然功能強(qiáng)大,但是在平常的使用中難免會(huì)出現(xiàn)各種情況使得其無(wú)法滿(mǎn)足我們的需求,這個(gè)時(shí)候就該用到:
Arrays.sort(a,fromIndex,toIndex,c);
這種用法了
先對(duì)方法中的各項(xiàng)參數(shù)進(jìn)行解釋?zhuān)?br />
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;
//定義類(lèi)a
class?a{
????int?n;
}
//定義類(lèi)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();//為類(lèi)分配內(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的類(lèi)a的數(shù)組按n的大小進(jìn)行降序排序
在上面給出的代碼中,最為關(guān)鍵的地方在于這一段:
//定義類(lèi)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ì)象是類(lèi),那么對(duì)于每一個(gè)對(duì)象來(lái)說(shuō),這一段都是必不可少的:
t[i] = new a();//為類(lèi)分配內(nèi)存必不可少
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中的arrays類(lèi)的sort方法”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)