一、collections類集合工具類
1.collections類裡面全部都是靜態方法,其中的sort(list
list)方法可以實現對list物件排序,前提是list裡面的所有元素都必須實現了comparable介面,也就是實現了介面裡面的compareto(
objecto)方法。(arrays的
sort(object[ ] object)要求一樣)
2.compareto(
objecto)
方法的實現:如果物件大於要比較的物件返回正數,如果是等於返回0如果小於就返回乙個負數.
如下面的類實現了
compareto(
objecto)
方法,以學生的學號比較:
class student implements comparable
public string tostring()
}
3.collections物件還有乙個方法就是可以傳入乙個比較器按照比較器進行比較sort(list
class student
returnresult;
}
}
…
}
由於內部類是靜態的所以可以用外部類的類名直接使用,
new student.studentcomparator()
相當於乙個內部類的物件
4.collections類還有public static comparatorreverseorder()方法返回乙個按照反序排列的比較器,前提是要排序的物件要實現comparable
介面。
5.由上例子可以知道只要是要進行比較的物件,要麼是已經實現了comparable介面也就是compareto(
objecto)
方法,要麼就是有乙個相關的比較器。
collections.
max(collection coll)方法取集合中的最大元素
collections.
min(collection coll)方法取集合中的最小元素
二、排序方法
// 插入排序(把陣列看成乙個有序陣列和乙個無序陣列)
class insert
arr[index + 1] = insertval;
n++;
} system.out.println(n);
}}
// 選擇排序 先記錄最小的當全部比較過後再交換 比冒泡交換的次數少
class select
n++;
}// 把找到最小數與arr[j]換位
temp = arr[j];
arr[j] = arr[minindex];
arr[minindex] = temp;
} system.out.println(n);
}}
// 氣泡排序法
class bubble
n++;
}n++;
} system.out.println(n);
}}
三、查詢
// 二分查詢(遞迴思想)
class find else if (val > midval) else if (val == midval)
} }}
集合工具類
collections 多數都是靜態類,由類名呼叫 sort max min reverse copy collections.binarysearch list,25 二分查詢法針對的是公升序排序的集合,如果沒有排序,就不能用二分查詢法,找到了就返回索引。一般與sort聯用。先sort,在二分查詢...
Collections集合工具集合排序
使用方式 colltctions.方法名 需要操作的集合,引數 colltctions.sort list 預設公升序,想要在自定義中定義排序規則 需要重寫comparable中的compareto方法 override public int compareto person o listlist ...
集合工具類和陣列工具類
集合的工具類 collections 筆試題 說出collection與collections的區別?1.collection是乙個單列集合的跟介面,collections是操作集合物件的乙個工具類 collections常見方法 1.對list進行排序 sort listlist sort lis...