Comparable、Iterator接口和Collections類的實現方法
Comparable接口:
此接口強行對實現它的每個類的對象進行整體排序。這種排序被稱為類的自然排序,類的 compareTo 方法被稱為它的自然比較方法。
實現此接口的對象列表(和數組)可以通過 Collections.sort
(和 Arrays.sort
)進行自動排序。
方法:int compareTo(T o) 比較此對象與指定對象的順序。如果該對象小於、等於或大於指定對象,則分別返回負整數、零或正整數。
Collections類:
List的常用算法: ArrayList默認長度(size)始終是0 默認容量是10
sort(List); 排序
如果需要對自定義的類進行排序, 那就必須要讓其實現Comparable接口, 實現比較兩個類大小的方法
shuffle(List); 隨機排列
void reverse(List); 反轉排序(Linked效率較高)
copy(); 復制集合, 前提是size()相同(長度, 和容量的區別)
fill(List, Object);使用某個對象填充整個List
binarySearch();
Iterator接口:
對 collection 進行叠代的叠代器。叠代器取代了 Java Collections Framework 中的 Enumeration。叠代器與枚舉有兩點不同:
- 叠代器允許調用者利用定義良好的語義在叠代期間從叠代器所指向的 collection 移除元素。
- 方法名稱得到了改進。
Iterator為了統一江湖, 從此出現了
所有實現了Collection接口的容器都有一個iterator方法, 用來返回一個實現了Iterator接口的對象
Iterator對象稱作叠代器, 用來方便的實現對容器內的元素的遍歷
Iterator裏面的三個方法:
hasNext()----如果仍有元素可以叠代,則返回 true。
next(), 重點註意: 這個方法每調用一次, 遊標就往下走一個,返回叠代的下一個元素。
remove(),從叠代器指向的 collection 中移除叠代器返回的最後一個元素(可選操作)。 盡量不要與父類的方法混著用
Comparable、Iterator接口和Collections類的實現方法