java集合

集合分类
1.Collection框架

Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
从图中我们可以看出,Collection接口下共有Set、List、Queue三个子接口。由于后面我们要着重分析的是ArrayList、LinkedList、TreeSet、HashSet,因此我们不对Queue这个子接口做过多的解读。
List接口:List是一个有序的集合,每个元素都有索引且起始索引位置为0。
Set接口:Set是一个无序的集合,而且Set中不允许有重复元素。HashSet和HashMap之间、TreeSet和TreeMap之间还有依赖关系,后面我们会讲到。

2.Map框架

Map
├Hashtable
├HashMap
└WeakHashMap
Map接口:主要用来处理映射关系的集合。其中的每一个元素都是一个键值对(Entry)。
AbstractMap:实现Map的一个抽象类,Map中大多数方法都实现了。
HashTable:由于历史原因依旧继承Directionary类,但是实现了Map接口。

Collection接口
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)

public interface Collection<E> extends Iterable<E> {
    int size();
    boolean isEmpty()();
    boolean contains(Object o);
    Iterator<E> iterator();
    //返回包含此集合中所有元素的数组;返回数组的运行时类型是指定的数组的运行时类型。如果集合适合在指定的数组中,则返回其中。否则,将在指定数组的运行时类型和该集合的大小分配一个新的数组
    Object[] toArray();
    <T> T[] toArray(T[] a);

    //Modification Operations(修改 操作)
    boolean add(E e);
    boolean remove(Object o);

    //Bulk Operations(块 操作)
    boolean containsAll(Collection<?> c);
    boolean addAll(Collection<? extends E> c);
    boolean removeAll(Collection<?> c);
    default boolean removeIf(Predicate<? super E> filter) {};
    boolean retainAll(Collection<?> c);
    void clear();


    //Comparison and hashing(比较 和 哈希)
    boolean equals(Object o);
    int hashCode();
    default Spliterator<E> spliterator(){};
    default Stream<E> stream(){};
    default Stream<E> parallelStream(){};
}

你可能感兴趣的:(java,框架)