生活随笔
收集整理的這篇文章主要介紹了
Java集合工具类:Collections
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java提供了一個操作Set、List和Map等集合的工具類:Collections,該工具類里 提供了大量方法對集合元素進行排序、查詢和修改等操作,還提供了對集合對象實現同步控制等方法。
一、 排序操作
如下示例:
public class CollectionsSort {public static void main(String
[] args
) {List
<Integer> list
= new ArrayList<>();list
.add(1);list
.add(2);list
.add(3);list
.add(4);list
.add(5);list
.add(6); System
.out
.println(list
);Collections
.reverse(list
);System
.out
.println("倒序:"+list
);Collections
.shuffle(list
);System
.out
.println("隨機順序:"+list
);Collections
.sort(list
);System
.out
.println("自然順序排序:"+list
);Collections
.sort(list
,new Comparator<Integer>() {@Overridepublic int compare(Integer o1
, Integer o2
) {return o2
-01; }});System
.out
.println("自定義排序:"+list
);Collections
.swap(list
, 1, 5);System
.out
.println("交換元素:"+list
);Collections
.sort(list
);System
.out
.println(list
);Collections
.rotate(list
, 2);System
.out
.println("輪換1:"+list
);Collections
.rotate(list
, -2);System
.out
.println("輪換2"+list
); }
}
執行結果如下:
二、查找和替換操作
public class CollectionsSearch {public static void main(String
[] args
) {List
<Integer> list
= new ArrayList<>(); list
.add(1);list
.add(2);list
.add(3);list
.add(4);list
.add(5);list
.add(6);list
.add(7);list
.add(8);list
.add(9);list
.add(8);list
.add(8);list
.add(8); System
.out
.println(list
);System
.out
.println("---二分搜索法---");System
.out
.println(Collections
.binarySearch(list
, 6));System
.out
.println("---max/min---");System
.out
.println(Collections
.max(list
));System
.out
.println(Collections
.min(list
)); System
.out
.println("---frequency---");System
.out
.println(Collections
.frequency(list
, 2));System
.out
.println("---列表---");System
.out
.println(list
);System
.out
.println("—
indexOfSubList
/lastIndexOfSubList
---"
);List
<Integer> list2
= new ArrayList<>();list2
.add(7);list2
.add(8);list2
.add(9);System
.out
.println(Collections
.indexOfSubList(list
, list2
));System
.out
.println(Collections
.lastIndexOfSubList(list
, list2
));System
.out
.println("---replaceAll---");Collections
.replaceAll(list
, 8, 10);System
.out
.println(list
);System
.out
.println("---fill---");Collections
.fill(list
, 2);System
.out
.println(list
);}
}
結果如下:
查找和替換操作參考:
三.同步控制
Collections類中提供了多個 synchronized…()方法,這些方法可以將指定集合包裝成線 程同步(線程安全)的集合,從而可以解決多線程并發訪問集合時的線程安全問題。 Java中常用的集合框架中的實現類 ArrayList、Linkedlist、 HashSet、TreeSet、 HashMap和TreeMap都是線程不安全的。如果有多個線程訪問它們,而且有超過一個 的線程試圖修改它們,則存在線程安全的問題。 Collections提供了多個類方法可以把 它們包裝成線程同步的集合。
public class SynchronizedDemo {public static void main(String
[] args
) { List
<String>list
= Collections
.synchronizedList(new ArrayList<String>());Set
<String>set
= Collections
.synchronizedSet(new HashSet<String>());Map
<Integer, String>map
= Collections
.synchronizedMap(new HashMap<Integer, String>()); }
}
總結
以上是生活随笔為你收集整理的Java集合工具类:Collections的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。