1. 程式人生 > >JDK原始碼閱讀之Collection分析

JDK原始碼閱讀之Collection分析

Collection介面是所有集合類的父介面,其提供了一些通用的方法,但未提供任何具體的實現,提供此類是為了能統一的以介面的方式使用一些方法,下面我們看看其提供了哪些方法。

//繼承了迭代器的介面,即所有的集合類都是可以使用foreach這種使用方法
public interface Collection<E> extends Iterable<E> {
    int size();//返回元素個數
    boolean isEmpty();//是否為空
    boolean contains(Object o);//判斷是否包含元素o
    Iterator<E> iterator();//返回集合類的迭代器
    Object[] toArray();//轉換為陣列,該方法是集合和陣列之間互動的最重要的方法之一
    <T> T[] toArray(T[] a);//轉換為具體陣列
    boolean add(E e);//新增元素
    boolean remove(Object o);//刪除元素
    boolean containsAll(Collection<?> c);//判斷c是否包含在集合中
    boolean addAll(Collection<? extends E> c);//新增c裡面的所有元素到集合中
    boolean removeAll(Collection<?> c);//刪除集合中所包含的c裡面的元素,類似求交集
    boolean retainAll(Collection<?> c);//刪除c中不包含的元素,類似求異或操作
    void clear();//清除所有元素
    boolean equals(Object o);//判斷元素是否相等
    int hashCode();//返回hashcode值
}
//迭代器介面
public interface Iterable<T> {
    Iterator<T> iterator();//返回迭代器
} 
//迭代器介面類
public interface Iterator<E> {
    boolean hasNext();//判斷是否還有元素
    E next();//返回下一個元素
    void remove();//刪除元素
}