Java 集合系列02 Collection框架

Collection总体结构图:

  Collection 继承 Iterable 主要有两个分支, List 和 Set ,都是继承Collection 接口。

  Collection 中 包含一个 iterator() 返回一个 Iterator接口 ,调用 hasNext() 判断 是否可以迭代 ,调用next() 获取迭代对象;

1. Collection集合 

  Collection定义:

public interface Collection<E> extends Iterable<E>

  Collection集合中包含了许多方法, 用来操作集合。Collection集合的子类都实现了无参数和带参数的构造函数 ,带参数的构造函数可以进行集合之间的转换;

boolean add(E e)     确保此集合包含指定的元素(可选操作)。  
boolean addAll(Collection<? extends E> c)     将指定集合中的所有元素添加到这个集合(可选操作)。  
void clear()     从这个集合中移除所有的元素(可选操作)。  
boolean contains(Object o)     返回 true如果集合包含指定元素。  
boolean containsAll(Collection<?> c)     返回 true如果这个集合包含指定集合的所有元素。  
boolean equals(Object o)     将指定的对象与此集合进行比较,以进行相等性。  
int hashCode()     返回此集合的哈希代码值。  
boolean isEmpty()     返回 true如果集合不包含任何元素。  
Iterator<E> iterator()     返回此集合中的元素的迭代器。  
default Stream<E> parallelStream()     返回一个可能并行 Stream与集合的来源。  
boolean remove(Object o)     从这个集合中移除指定元素的一个实例,如果它是存在的(可选操作)。  
boolean removeAll(Collection<?> c)     删除此集合中包含的所有元素(可选操作)的所有元素(可选操作)。  
default boolean removeIf(Predicate<? super E> filter)     删除满足给定谓词的这个集合的所有元素。  
boolean retainAll(Collection<?> c)     仅保留包含在指定集合中的这个集合中的元素(可选操作)。  
int size()     返回此集合中的元素的数目。  
default Spliterator<E> spliterator()     创建此集合中的元素的 Spliterator。  
default Stream<E> stream()     返回一个序列 Stream与集合的来源。  
Object[] toArray()     返回包含此集合中所有元素的数组。  
<T> T[] toArray(T[] a)     返回包含此集合中所有元素的数组;返回数组的运行时类型是指定的数组的运行时类型。

2. List集合

  List定义

public interface List<E> extends Collection<E>

  List集合继承Collection集合 ,存储元素的特点有序可重复 ,有序是指存取去的顺序和取出的顺序一致,有序不是指的是大小顺序,有序是因为List中元素有下标可以通过下标访问,下标从0开始递增。

3. Set集合

  Set定义

public interface Set<E> extends Collection<E>

  Set集合继承Collection集合,Set集合存储元素的特点无序不可重复,无序表示存进去是这个顺序,取出来就不一定是这个顺序了,另外Set集合中元素没有下标,Set集合中的元素不能重复。

  Set集合和Collection集合中方法完全一样。

4. AbstractCollection集合

  AbstractCollection定义

public abstract class AbstractCollection<E> implements Collection<E>

  AbstractCollection是一个抽象类实现了Collection接口

5. AbstractList集合

  AbstractList定义

public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>

  AbstractList集合继承AbstractCollection实现List接口

6. AbstracSet集合

  AbstractSet定义

public abstract class AbstractSet<E> extends AbstractCollection<E> implements Set<E>

  AbstractSet集合继承AbstractCollection实现Set接口

原文地址:https://www.cnblogs.com/homle/p/14623980.html