Java操作集合的工具類
阿新 • • 發佈:2019-02-05
一、介紹
提供了大量的方法對集合元素進行排序,查詢,修改等操作,還提供了將集合物件這職位不可變、對集合物件實現同步控制的方法
二、排序、查詢、替換
四、設定不可變集合
三、同步控制 提供了多個synchronizedXxx()方法,可以將指定集合包裝成執行緒同步的集合,從而解決多執行緒併發訪問集合時執行緒安全的問題。import java.util.ArrayList; import java.util.Collections; public class SortTest { public static void main(String[] args) { // TODO 自動生成的方法存根 ArrayList nums = new ArrayList(); nums.add(2); nums.add(-4); nums.add(43); nums.add(0); nums.add(2); System.out.println(nums); Collections.reverse(nums);// 次序反轉 System.out.println(nums); Collections.sort(nums);// 排序 System.out.println(nums); Collections.shuffle(nums);// 隨機排序 System.out.println(nums); System.out.println("最大 " + Collections.max(nums)); System.out.println("最小 " + Collections.min(nums)); Collections.replaceAll(nums, 0, 1);// 將0替換為1 System.out.println(nums); System.out.println("元素2在集合中出現的次數 " + Collections.frequency(nums, 2)); Collections.sort(nums);// 排序後進行二分法查詢 System.out.println(nums); System.out.println(Collections.binarySearch(nums, 43)); } }
import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; public class SynchronizedTest { public static void main(String[] args) { //提供了4種方法 Collection collections=Collections.synchronizedCollection(new ArrayList()); List list=Collections.synchronizedList(new ArrayList()); Set set=Collections.synchronizedSet(new HashSet()); Map map=Collections.synchronizedMap(new HashMap()); } }
四、設定不可變集合
import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; public class UnmodfiableTest { public static void main(String[] args) { // 建立一個空的不可改變的List List unmodifiableList=Collections.emptyList(); //只有一個元素不可改變的Set Set unmodifiableSet=Collections.singleton("java"); //建立一個Map Map score=new HashMap(); score.put("語文", 90); score.put("數學", 100); //返回普通Map物件的不可變版本 Map unmodifiableMap=Collections.unmodifiableMap(score); //以下程式碼會產生異常 unmodifiableList.add("1234"); unmodifiableSet.add("hello"); unmodifiableMap.put("ahah", 66); } }