java集合

来源:互联网 发布:mac爱奇艺弹幕 编辑:程序博客网 时间:2024/06/08 00:12

集合分类
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(){};}
原创粉丝点击