1、Java提供了一个操作Set、List、Map等集合的工具类:Collections。
工具类中提供的方法主要针对Set、List、Map的排序、查询、修改等操作,以及将集合对象设置为不可变、对集合对象实现同步控制(线程安全)等方法。
2、排序
3、查找、替换
4、同步控制
Collections类中提供了多个synchronizedXxx()方法,这些方法可以将指定集合包装成线程同步的集合,从而可以解决多线程并发访问集合时的线程安全问题。
Java中常用的实现类HashSet、TreeSet、ArrayList、ArrayDeque、LinkedList、HashMap、TreeMap共7种集合都是线程不安全的。
//通过以下的包装,就可以实现线程安全的集合对象 Collection c= Collections.synchronizedCollection(new ArrayList()); List list=Collections.synchronizedList(new ArrayList()); Set s=Collections.synchronizedSet(new HashSet()); Map m=Collections.synchronizedMap(new HashMap());
5、设置不可变集合
上面三类方法的参数是原有的集合对象,返回值是该集合的“只读”版本。即无论集合中的元素个数、还是集合中的元素的修改,都会引发错误。