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()