java.util.Collection 是一个集合接口,是 Java 集合类的顶级接口。它提供了对集合对象进行基本操作的通用接口方法。Collection 接口定义如下:
public interface Collection<E> extends Iterable<E> { int size(); boolean isEmpty(); boolean contains(Object o); boolean add(E e); boolean remove(Object o); boolean containsAll(Collection<?> c); boolean addAll(Collection<? extends E> c); boolean removeAll(Collection<?> c); boolean retainAll(Collection<?> c); void clear(); //... }
Collection 接口在 Java 类库中有很多具体的实现,常见子接口如下:
BlockingDeque<E>
BlockingQueue<E>
Deque<E>
List<E>
NavigableSet<E>
Queue<E>
Set<E>
SortedSet<E>
常见实现如下:
ArrayBlockingQueue
ArrayDeque
ArrayList
ConcurrentLinkedDeque
ConcurrentLinkedQueue
HashSet
LinkedBlockingDeque
LinkedBlockingQueue
LinkedHashSet
LinkedList
Collection 接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有 List 与 Set。
Collections 则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。常用方法如下:
addAll()
binarySearch()
checkedList()
copy()
disjoint()
emptyList()
fill()
max()
min()
reverse()
sort()
synchronizedList()
synchronizedCollection()
synchronizedSet()
synchronizedMap()