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