java.util.Collections类, 该工具类中有一组方法, synchronizedXXX( xxx )可以把xxx集合转换为线程安全的集合。
static <T> Collection<T> synchronizedCollection(Collection<T> c)
static <T> List<T> synchronizedList(List<T> list)
static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)
static <T> Set<T> synchronizedSet(Set<T> s)
但是,在开发多线程程序时, 基本不使用这一组操作, 在多线程环境中:
● 如果使用List集合就直接使用java.util.concurrent.CopyOnWriteArrayList类。
● 如果使用Set集合,不需要排序,使用java.util.concurrent.CopyOnWriteArraySet类, 如果需要排序,使用java.util.concurrent.ConcurrentSkipListSet集合。