1、集合框架
是基于Collection和Map两个接口。其层次接口图为
1.1 Iterable
其方法有
方法名 | 说明 |
Iterator<T> iterator() | 可迭代对象的迭代器 |
default void forEach(Consumer<? super T> action) | 默认方法,对迭代对象的元素应用action. |
default Spliterator<T> spliterator() | 默认方法, 可迭代对象的分割迭代器 |
1.2 Iterator
其方法有
方法名 | 说明 |
boolean hasNext() | 是否还有未遍历的元素 |
E next() | 返回迭代中的元素 |
default void remove() | 默认方法,抛出不支持操作异常UnsupportedOperationException |
default void forEachRemaining(Consumer<? super E> action) | 默认方法,对剩余未遍历元素应用action |
1.3 Collection
方法有
方法名 | 说明 |
int size() | 集合大小 |
boolean isEmpty() | 集合是否为空 |
boolean contains(Object o) | 集合中是否包含元素o |
Iterator<E> iterator() | 集合迭代器 |
Object[] toArray() | 集合转为数组 |
T[] toArray(T[] a) | 集合转为数组并且赋值到数组a |
boolean add(E e) | 集合中添加元素e |
boolean remove(Object o) | 集合中删除元素o |
boolean containsAll(Collection<?> c) | 集合中是否包含集合c中的元素 |
boolean addAll(Collection<? extends E> c) | 集合中添加集合c上的所有元素 |
boolean removeAll(Collection<?> c) | 集合的差集 |
default boolean removeIf(Predicate<? super E> filter) | 集合中删除满足条件的元素 |
boolean retainAll(Collection<?> c) | 集合中保留集合c中的元素 |
void clear() | 集合清空 |
boolean equals(Object o) | 集合判断相等 |
int hashCode() | 集合的hash |
default Spliterator<E> spliterator() | 集合的Splitertator |
default Stream<E> stream() | 集合的串行流 |
default Stream<E> parallelStream() | 集合的并发流 |
1.4 List
除了Collection继承的方法外,还包含
方法名 | 说明 |
boolean addAll(int index, Collection<? extends E> c) | 在指定位置添加集合的所有元素 |
void add(int index, E element) | 在指定位置添加元素 |
E get(int index) | 获取指定位置的元素 |
E remove(int index) | 删除指定位置的元素 |
E set(int index, E element) | 设置指定位置的元素 |
int indexOf(Object o) | 查找元素在List中首次出现的位置 |
int lastIndexOf(Object o) | 查找元素在List中最后出现的位置 |
List<E> subList(int fromIndex, int toIndex) | 返回List的指定位置区间的视图 |
ListIterator<E> listIterator() | List迭代器 |
ListIterator<E> listIterator(int index) | List指定位置的迭代器 |
其实现类有ArrayList,LinkedList,CopyOnWriteArrayList
ListIterator接口方法有
方法 | 说明 |
boolean hasNext() | 是否有后继节点 |
E next() | 后继节点 |
boolean hasPrevious() | 是否有前驱节点 |
E previous() | 前驱节点 |
int nextIndex() | 返回后继节点的索引 |
int previousIndex() | 返回前驱节点的索引 |
void remove() | 删除节点,即previous或者next指的节点 |
void set(E e) | 替换previous或者next指的节点 |
void add(E e) | 在previous后插入或者next前插入节点 |