更新時(shí)間:2021-11-05 11:35:49 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1014次
小編給大家java的集合工具類(lèi):Collections,java提供了一個(gè)操作Set、List和Map等集合的工具類(lèi):Collections,該工具類(lèi)里面提供了大量方法對(duì)集合元素進(jìn)行排序、查詢(xún)和修改等操作,還提供了對(duì)集合對(duì)象實(shí)現(xiàn)同步控制等方法。
排序操作:
修飾符 |
返回值 |
類(lèi)型方法(形參) |
說(shuō)明 |
---|---|---|---|
Static | Void | Reverse(List list) | 反轉(zhuǎn)指定列表中元素的順序 |
Static | Void | Shuffle(List list) | 使用默認(rèn)隨機(jī)源對(duì)指定列表進(jìn)行置換 |
Static | Void | Sort(List list) | 根據(jù)指定比較器產(chǎn)生的順序?qū)χ付斜磉M(jìn)行排序 |
Static | Void | Sort(list list,Comparator c) | 根據(jù)指定比較器產(chǎn)生的順序?qū)χ付斜磉M(jìn)行排序 |
Static | Void | Swap(List list,int distance) | 根據(jù)指定的距離輪換指定列表中的元素 |
下面是常用排序方法的代碼圖1:
下面方法的說(shuō)明:binarySearch:使用二分搜素法搜素指定列表,以獲得指定對(duì)象;max:根據(jù)元素的自然順序或指定比較器產(chǎn)生的順序,返回給定collection的最大元素;min:根據(jù)元素的自然順序或指定比較器產(chǎn)生的順序,返回給定 collection 的 小元素;fill:使用指定元素替換指定列表中的所有元素;frequency:返回指定collection中等于指定對(duì)象的元素?cái)?shù);indexOfSubList:返回指定源列表中最后一次出現(xiàn)或最后一次出現(xiàn)指定目標(biāo)列表的起始位置;如果沒(méi)有出現(xiàn)這樣的列表,則返回-1;replaceAll:使用另一個(gè)值替換列表中出現(xiàn)的所有某一指定值;見(jiàn)代碼圖2:
Collections類(lèi)中提供了多個(gè)synchronized……()方法,這些方法可以將指定集合包裝成線(xiàn)程同步(線(xiàn)程安全)的集合,從而可以解決多線(xiàn)程并發(fā)訪(fǎng)問(wèn)集合時(shí)的線(xiàn)程安全問(wèn)題。Java中常用的集合框架中的實(shí)現(xiàn)類(lèi):ArrayList、Linkedlist、 HashSet、TreeSet、HashMap和TreeMap都是線(xiàn)程不安全的。如果有多個(gè)線(xiàn)程訪(fǎng)問(wèn)它們,而且有超過(guò)一個(gè)的線(xiàn)程試圖修改它們,則存在線(xiàn)程安全的問(wèn)題。Collections提供了多個(gè)類(lèi)方法可以吧它們包裝成線(xiàn)程同步的集合。見(jiàn)代碼圖3:
List,Set,Map是集合體系中最主要的三個(gè)接口,List和Set是繼承Collection接口,Map屬于集合系統(tǒng)但與collection接口不同。
Comparator和comparable的區(qū)別:comparator定義在類(lèi)的外部,此時(shí)我們的類(lèi)的結(jié)構(gòu)不需要有任何變化,從小到大:o1-o2從大到小:o2-o1;comparable定義在類(lèi)的內(nèi)部,耦合性較強(qiáng)從小到大::thiso 從大到小:othis
線(xiàn)程安全的就是同步的,不安全的就是不同步的;不同步的運(yùn)行速度要比同步的塊。
如果大家想了解更多相關(guān)知識(shí),不妨來(lái)關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java開(kāi)發(fā)工具,里面有更多的工具介紹供大家學(xué)習(xí),希望對(duì)大家能夠有所幫助。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743