首页 > 技术文章 > Collections -- 集合的工具类

ijavanese 2014-06-08 15:01 原文

Collections是JDK针对集合提供的一个工具类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

1、搜索

如可以使用Collections提供的二分查找方法binarySearch()

2、排序

如可以使用Collections.sort()List进行了排序

3、线程安全化

使用Collections.synchronizedXxx();方法可以将集合对象线程安全化,其实现原理是代理。

  static <T> List<T> synchronizedList(List<T> list, Object mutex) {
    return (list instanceof RandomAccess ?
                new SynchronizedRandomAccessList<T>(list, mutex) :
                new SynchronizedList<T>(list, mutex));
    }
final Object mutex;     // Object on which to synchronize
public void add(int index, E element) {
        synchronized(mutex) {list.add(index, element);}
        }

如果需要使用线程安全化的集合,考虑到效率问题不建议使用Collections工具类线程安全化非线程安全的集合,而是使用Concurrent Framework中实现的线程安全集合实现,如ConcurrentHashMap,CopyOnWriteArrayList等等。

推荐阅读