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 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号