Java面试题:Collection 和 Collections 有什么区别?

本文将介绍Collection 和 Collections 的区别。

Collection

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

Collections 则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。常用方法如下:

  • addAll()

  • binarySearch()

  • checkedList()

  • copy()

  • disjoint()

  • emptyList()

  • fill()

  • max()

  • min()

  • reverse()

  • sort()

  • synchronizedList()

  • synchronizedCollection()

  • synchronizedSet()

  • synchronizedMap()

睡眠和休息丧失了时间,却取得了明天工作的精力。 —— 毛泽东
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号