28.集合工具类(Collections类)

面试题:Collection和Collections的区别.


Collection类:封装了Set,List,Map的操作的工具方法.

获取空集对象(没有元素的集合,注意集合不为null):

List list1 = Collections.EMPTY_LIST;//常量
List list2 = Collections.emptyList;//方法
List list3 = new ArrayList<>();//从java7开始,方法
 
 
常用的集合类:

HashSet/ArrayList/HashMap

都是线程不安全的,在多线程环境下不安全.
在Collections类中有获取线程安全的集合方法:
List list = Collections.synchronizedList(new ArrayList());
当要迭代的时候得使用synchronized.
synchronized(list){
    TODO
}

Set set = Collection.synchronizedSet(new HashSet());
Map map = Collection.synchronizedMap(new HashMap());

你可能感兴趣的:(28.集合工具类(Collections类))