Java 集合详解 一、Collection详解

来源:互联网 发布:听歌软件免费 编辑:程序博客网 时间:2024/06/05 05:03

  在Java开发中,我们有大量的保存、访问数据的需求,这时候就需要使用java中的集合类,一般来说,java中提供了list、set、map这些集合来供我们保存、访问数据。

  java中集合类的继承图如下:


可见,list、set都实现了Collection接口,而Map都实现了Map接口,今天,我们从源码分析一下Collection接口:

一、Collection 继承的接口:

public interface Collection<E> extends Iterable<E> {}

Iterable接口源码为:

public interface Iterable<T> {    /**     * Returns an iterator over elements of type {@code T}.     *     * @return an Iterator.     */    Iterator<T> iterator();    default void forEach(Consumer<? super T> action) {        Objects.requireNonNull(action);        for (T t : this) {            action.accept(t);        }    }    default Spliterator<T> spliterator() {        return Spliterators.spliteratorUnknownSize(iterator(), 0);    }}

首先可以看到,Collection实现了Iterable接口,即可以通过iterator()方法来获取这个集合的迭代器来遍历这个集合,或者删除这个集合中的元素。


二、Collection定义的方法:

  返回这个集合的大小:

    int size();
  判断这个集合是否为空:

    boolean isEmpty();
  是否包含某个元素:
    boolean contains(Object o);
  将集合中的数据转成列表形式
    Object[] toArray();
  将集合中的数据放置到传入的数组中

    <T> T[] toArray(T[] a);
  添加元素,返回值为是否添加成功

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




原创粉丝点击