各位看官們,大家好,上一回中咱們說的是Java中類集體系圖的例子,這一回咱們說的例子是Java中的類集之工具類。閒話休提,言歸正轉。讓我們一起Talk Android吧!
看官們,類集中還有一小部分內容我們沒有介紹,這點在一上章回中的類集體系圖中也提到了,今天我就來介紹這部分內容,它是類集中的工具類。有看官提問說,爲什麼要叫這麼一個名字?因爲這個類實現了類集中常用的功能,並且把這些常用的功能封裝成靜態方法,這些方法可以直接去操作類集對象。接下來我們一起看看,工具類具體提供了哪些功能。
工具類的真名叫:Collections
。它可以操作類集中子接口及其實現類的對象,它提供了向類集對象中添加元素,查找元素,替換元素,交換元素的功能,它還可以對類集對象中所有元素進行排序和反轉。這些功能中添加元素的功能是對類集中所有子接口及其實現類的對象都適用,其它功能只適用於List
接口及其實現類的對象。接下來我們一一介紹這些功能:
添加元素:
addAll(collection,item1,item2...);
這裏的collection
表示Collection
子接口及其實現類的對象,item
爲添加到對象中的成員,不過成員的類型要與對象的類型保持一致。如果類集對象爲空,那麼它會添加成員到類集中,如果類集不爲空,那麼它會在類集的尾部添加成員,而類集中原來的成員保持不變。查找元素:
binarySearch(list,item)
如果存在返回其所在類集中的位置,否則返回-1,如果有多個相同的成員,那麼返回第一個成員的位置.使用時要注意,它利用了二分查找算法,從它的名字就可以看出來的。因此要求被查找的list
已經排好序,否則查找會出錯,這也是二分查找算法的使用前提條件。替換元素:
replace(list,old,new)
把類集中的old成員替換爲new成員,如果類集有多個重複的成員也會一起替換掉。替換是基於元素的內容進行替換,而不是元素在類集中的位置。交換元素:
swap(list,index1,index2)
把類集中index1和index2位置處的內容進行交換,交換是基於類集中成員的位置,而不是類集中元素的內容。類集排序:
sort(list)
把類集中的成員進行排序,該方法默認按照升序排序。如果類集中元素的類型是自定義類型,那麼需要實現Comparable
接口,以及重寫compareTo
方法。此外,該方法是重載方法,它還有第二個參數,通過該參數可以自己定義排序規則,我們在這裏先不做介紹,以後用到時再做說明。類集反轉:reverse(list)
反轉類集中元素的順序,相當於對類集中的元素進行逆序排序。
各位看官,關於Java中類集之工具類的例子咱們就介紹到這裏,欲知後面還有什麼例子,且聽下回分解!