简介
java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。 他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
代码语言:javascript复制Set set = Collections.emptySet()
Set set = Collections.synchronizedSet();//线程安全
Set<String> typeList = Collections.unmodifiableSet(Sets.newHashSet("Doctor", "Hospital", "Faculty", "Disease"));
代码语言:javascript复制List list = Collections.emptyList();
List list = Collections.synchronizedList();//线程安全
Collections.unmodifiableList();
备注:这个List和我们平时常用的那个List是不一样的。这个方法返回的List是Collections类的一个静态内部类。
备注:这个List和我们平时常用的那个List是不一样的。这个方法返回的List是Collections类的一个静态内部类。它继承AbstractList后并没有实现add()、remove()等方法,因此这个返回值List并不能增加删除元素。这个方法主要目的就是返回一个不可变的列表,使用这个方法作为返回值就不需要再创建一个新对象,可以减少内存开销。并且返回一个size为0的List,调用者不需要校验返回值是否为null,所以建议使用这个方法返回可能为空的List。
代码语言:javascript复制Map map = Collections.emptyMap();
Map map = Collections.synchronizedMap();//线程安全
Collections.unmodifiableMap();
Collections.reverse
描述:逆序排序,对当前集合的元素按照相反的顺序进行排序。
代码语言:javascript复制Collections.reverse(list);
Collections.sort
描述:将集合按照默认的规则排序,按照数字从小到大的顺序排序
代码语言:javascript复制List<String> list2 = Arrays.asList("tom", "kobe", "jordan", "tracy","westbook","yaoming","ace","stephen");
//按照字符串首字符的升序排列
Collections.sort(list2);
//这里是是使用匿名内部类来完成的
Collections.sort(list2, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
//指定比较规则,按照首字母降序来排列
return o2.charAt(0)-o1.charAt(0);
}
});
//这里是使用lambda表达式来完成
Collections.sort(list2,(o1,o2)->{ return o2.charAt(o2.length()-1)-o1.charAt(o1.length()-1);});
Collections.addAll
描述:addAll方法可以往集合中添加元素,也可往集合中添加一个集合
代码语言:javascript复制Collections.addAll(list, 9, 20, 56);
Collections.shuffle
描述:洗牌方法,将当前集合内的数据进行随机排序。
代码语言:javascript复制Collections.shuffle(list);
Collections.singletonList
描述:
代码语言:javascript复制
Collections.emptyList
描述:
代码语言:javascript复制