集合接口
Collection接口 | Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的元素, Java不提供直接继承自Collection的类,只提供继承于的子接口(如List和set)。 Collection 接口存储一组不唯一,无序的对象。 |
List 接口 | List接口是一个有序的 Collection,使用此接口能够精确的控制每个元素插入的位置,能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的索引为 0,而且允许有相同的元素。 List 接口存储一组不唯一,有序(插入顺序)的对象。 |
Set接口 | Set 具有与 Collection 完全一样的接口,只是行为上不同,Set 不保存重复的元素。 Set 接口存储一组唯一,无序的对象。 |
Map接口 | Map 接口存储一组键值对象,提供key(键)到value(值)的映射。Map中的key不要求有序、不允许重复。value同样不要求有序,但允许重复。 |
Iterator接口 | 负责定义访问和遍历元素 |
迭代器Iterator
Collection接口的iterator()方法返回一个Iterator,然后通过Iterator接口的两个方法即可方便地实现遍历:
- boolean hasNext():判断是否存在另一个可访问元素。
- Object next():返回要访问的下一个元素。
List接口
ArrayList的常用方法
boolean add(E e) |
将指定的元素添加到此列表的尾部。 |
void add(int index, E element) |
将指定的元素插入此列表中的指定位置。 |
boolean addAll(Collection<? extends E> c) |
按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。 |
boolean addAll(int index, Collection<? extends E> c) |
从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。 |
void clear() |
移除此列表中的所有元素。 |
Object clone() |
返回此 ArrayList 实例的浅表副本。 |
boolean contains(Object o) |
如果此列表中包含指定的元素,则返回 true。 |
void ensureCapacity(int minCapacity) |
如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。 |
E get(int index) |
返回此列表中指定位置上的元素。 |
int indexOf(Object o) |
返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。 |
boolean isEmpty() |
如果此列表中没有元素,则返回 true |
int lastIndexOf(Object o) |
返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。 |
E remove(int index) |
移除此列表中指定位置上的元素。 |
boolean remove(Object o) |
移除此列表中首次出现的指定元素(如果存在)。 |
protected void removeRange(int fromIndex, int toIndex) |
移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。 |
E set(int index, E element) |
用指定的元素替代此列表中指定位置上的元素。 |
int size() |
返回此列表中的元素数。 |
Object[] toArray() |
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。 |
T[] |
toArray(T[] a) |
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。 |
void trimToSize() |
将此 ArrayList 实例的容量调整为列表的当前大小。 |
LinkedList的常用方法
boolean add(E e) |
将指定元素添加到此列表的结尾。 |
void add(int index, E element) |
在此列表中指定的位置插入指定的元素。 |
boolean addAll(Collection<? extends E> c) |
添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序。 |
boolean addAll(int index, Collection<? extends E> c) |
将指定 collection 中的所有元素从指定位置开始插入此列表。 |
void addFirst(E e) |
将指定元素插入此列表的开头。 |
void addLast(E e) |
将指定元素添加到此列表的结尾。 |
void clear() |
从此列表中移除所有元素。 |
Object clone() |
返回此 LinkedList 的浅表副本。 |
boolean contains(Object o) |
如果此列表包含指定元素,则返回 true。 |
Iterator descendingIterator() |
返回以逆向顺序在此双端队列的元素上进行迭代的迭代器。 |
E element() |
获取但不移除此列表的头(第一个元素)。 |
E get(int index) |
返回此列表中指定位置处的元素。 |
E getFirst() |
返回此列表的第一个元素。 |
E getLast() |
返回此列表的最后一个元素。 |
int indexOf(Object o) |
返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。 |
int lastIndexOf(Object o) |
返回此列表中最后出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。 |
ListIterator listIterator(int index) |
返回此列表中的元素的列表迭代器(按适当顺序),从列表中指定位置开始。 |
boolean offer(E e) |
将指定元素添加到此列表的末尾(最后一个元素)。 |
boolean offerFirst(E e) |
在此列表的开头插入指定的元素。 |
boolean offerLast(E e) |
在此列表末尾插入指定的元素。 |
E peek() |
获取但不移除此列表的头(第一个元素)。 |
E peekFirst() |
获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。 |
E peekLast() |
获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null。 |
E poll() |
获取并移除此列表的头(第一个元素) |
E pollFirst() |
获取并移除此列表的第一个元素;如果此列表为空,则返回 null。 |
E pollLast() |
获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。 |
E pop() |
从此列表所表示的堆栈处弹出一个元素。 |
void push(E e) |
将元素推入此列表所表示的堆栈。 |
E remove() |
获取并移除此列表的头(第一个元素)。 |
E remove(int index) |
移除此列表中指定位置处的元素。 |
boolean remove(Object o) |
从此列表中移除首次出现的指定元素(如果存在)。 |
E removeFirst() |
移除并返回此列表的第一个元素。 |
boolean removeFirstOccurrence(Object o) |
从此列表中移除第一次出现的指定元素(从头部到尾部遍历列表时)。 |
E removeLast() |
移除并返回此列表的最后一个元素。 |
boolean removeLastOccurrence(Object o) |
从此列表中移除最后一次出现的指定元素(从头部到尾部遍历列表时)。 |
E set(int index, E element) |
将此列表中指定位置的元素替换为指定的元素。 |
int size() |
返回此列表的元素数。 |
Object[] toArray() |
返回以适当顺序(从第一个元素到最后一个元素)包含此列表中所有元素的数组。 |
T[] |
toArray(T[] a) |
返回以适当顺序(从第一个元素到最后一个元素)包含此列表中所有元素的数组;返回数组的运行时类型为指定数组的类型。 |
Map接口
HashMap常用的方法
void clear() |
从此映射中移除所有映射关系。 |
Object clone() |
返回此 HashMap 实例的浅表副本:并不复制键和值本身。 |
boolean containsKey(Object key) |
如果此映射包含对于指定键的映射关系,则返回 true。 |
boolean containsValue(Object value) |
如果此映射将一个或多个键映射到指定值,则返回 true。 |
V get(Object key) |
返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null。 |
boolean isEmpty() |
如果此映射不包含键-值映射关系,则返回 true。 |
Set keySet() |
返回此映射中所包含的键的 Set 视图。 |
V put(K key, V value) |
在此映射中关联指定值与指定键。 |
void putAll(Map<? extends K,? extends V> m) |
将指定映射的所有映射关系复制到此映射中,这些映射关系将替换此映射目前针对指定映射中所有键的所有映射关系。 |
V remove(Object key) |
从此映射中移除指定键的映射关系(如果存在)。 |
int size() |
返回此映射中的键-值映射关系数。 |
Collection values() |
返回此映射所包含的值的 Collection 视图。 |