Collection interface Map interface (键值对,键可以为null)
Set interface(无序不可重复) List(有序可重复) interface
public boolean add(E e);添加一个对象到集合中
public boolean addAll(Collection<? extends E> c) ;添加一组集合到集合中
public void clear();移除集合中所有元素
public boolean contains(Object o);集合中是否包含o对象
public boolean containsAll(Collection<?> c);集合中是否全部包含c里面的元素
public boolean isEmpty();集合是没有一个元素
public Iterator<E> iterator();获取集合迭代器
public boolean remove(Object o);移除集合中的o
public boolean removeAll(Collection<?> c) 移除集合中所有c集合的元素
public boolean retainAll(Collection<?> c) 集合与c集合是否存在交集
public int size();集合中元素个数
public Object[] toArray();集合转换成数组
extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
RandomAccess 用来表明其支持快速(通常是固定时间)随机访问
public int indexOf(Object o)方法返回指定元素的第一个匹配项的索引在此列表中,或者-1
public int lastIndexOf(Object o)方法返回指定元素的最后一个匹配项的索引在此列表中,或者-1
pubblic E set(int index,E element)替换指定位置的元素
public List<E> subList(int fromIndex,int toIndex) 截取子集合在fromIndex和toIndex之间
底层使用 Object[] 存储元素
DEFAULT_CAPACITY 默认初始化容量10
public void trimToSize();如果集合大小比实际集合中元素的个数多,调整集合的真实大小
private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8; 集合最大的大小
Arrays.copyOf() 底层调用 System.arraycopy()
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, java.io.Serializable
内部使用Node 节点 存储
Deque<E> 双向列表 extends Queue<E> 单向列表
Deque<E> 双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。
Queue<E> 它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头