常用工具方法

创建空集合

创建空集合,且空集合不可变

/*  
  创建空集合 不可变集合  
 */
List<String> emptyList = Collections.emptyList();  
Map<String, Object> emptiedMap = Collections.emptyMap();  
Set<String> emptySet = Collections.emptySet();
//emptyList.add("1");//执行报错

创建单元素集合

创建单元素集合,不可变集合

List<String> list = Collections.singletonList("1");  
Map<String, Object> singletonMap = Collections.singletonMap("1", "1");  
Set<String> singletonSet = Collections.singleton("1");
// list.add("2"); 运行时错误

排序

可自定义排序规则进行排序

List<String> list1 = new ArrayList<>();  
list1.add("2");  
list1.add("3");  
list1.add("1");  
Collections.sort(list1);
//自定义排序规则
public static <T> void sort(List<T> list, Comparator<? super T> c) {  
    list.sort(c);  
}

洗牌

随机打乱集合内容

Collections.shuffle(list1);

封装为不可变集合

将集合封装为不可变集合,封装后对原有集合进行修改回影响封装后的集合,因此需要在封装后丢弃原有集合

List<String> unmodifiableList = Collections.unmodifiableList(list1);  
System.out.println(unmodifiableList);  
  
list1.add("4");  
System.out.println(unmodifiableList);  
list1=null;  
System.out.println(unmodifiableList);

线程安全

将线程不安全的集合转换为线程安全的集合

List<String> synchronizedList = Collections.synchronizedList(list1);  
Map<String, Object> synchronizedMap = Collections.synchronizedMap(emptiedMap);  
Set<String> synchronizedSet = Collections.synchronizedSet(emptySet);