更新時間:2020-08-03 15:05:57 來源:動力節(jié)點(diǎn) 瀏覽4252次
Arrays.sort()方法雖然功能強(qiáng)大,但是在平常的使用中難免會出現(xiàn)各種情況使得其無法滿足我們的需求,這個時候就該用到:
Arrays.sort(a,fromIndex,toIndex,c);
這種用法了
先對方法中的各項(xiàng)參數(shù)進(jìn)行解釋:
a——需要進(jìn)行排序的對象
fromIndex——排序進(jìn)行的起始位置
toIndex——排序的終止位置
c——自定義的排序規(guī)則
實(shí)現(xiàn)的代碼如下:
import?java.util.Arrays;
import?java.util.Comparator;
import?java.util.Scanner;
//定義類a
class?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();
????????}
????}
}
它的效果是對含有一個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)用對象是類,那么對于每一個對象來說,這一段都是必不可少的:
t[i] = new a();//為類分配內(nèi)存必不可少
以上就是動力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java中的arrays類的sort方法”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743