常用工具方法
创建空集合
创建空集合,且空集合不可变
/*
创建空集合 不可变集合
*/
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);