三者关系:
Iterable:
Iterable
也是一个接口,表示实现该接口的类是可以逐个元素进行遍历;
iterator()
//这个方法返回的是Iterator的实例。
forEach(Consumer<? super T> action)
//循环容器中的元素,并对每个元素进行 action 操作,容器中不能有空元素,否则或抛出 NullPointerException 指针异常。
spliterator()
//Spliterator接口是1.8新加的接口,字面意思可分割的迭代器,不同以往的iterator需要顺序迭代,Spliterator可以分割为若干个小的迭代器进行并行操作,既可以实现多线程操作提高效率,又可以避免普通迭代器的fail-fast机制所带来的异常。
Collection:
也是一个接口,该接口中规范了后序容器中常用的一些方法
int size();
//返回此集合中的元素数
boolean isEmpty();
//如果此集合不包含元素,则返回 true 。
boolean contains(Object o)
//如果此集合包含指定的元素,则返回true 。
Iterator<E> iterator()
//返回此集合中的元素的迭代器。 没有关于元素返回顺序的保证(除非这个集合是提供保证的某个类的实例)。
Object[] toArray()
//返回一个包含此集合中所有元素的数组。 如果此集合对其迭代器返回的元素的顺序做出任何保证,则此方法必须以相同的顺序返回元素。
<T> T[] toArray(T[] a)
//返回包含此集合中所有元素的数组;
boolean remove(Object o)
//从该集合中删除指定元素的单个实例(如果存在)(可选操作)。
boolean containsAll(Collection<?> c)
//如果此集合包含指定 集合中的所有元素,则返回true。
List:
boolean add(E e)
//将指定的元素追加到此列表的末尾(可选操作)。
void add(int index, E element)
//将指定的元素插入此列表中的指定位置(可选操作)。
boolean addAll(Collection<? extends E> c)
//按指定集合的迭代器(可选操作)返回的顺序将指定集合中的所有元素附加到此列表的末尾。
E remove(int index)
//删除该列表中指定位置的元素(可选操作)。
boolean remove(Object o)
//从列表中删除指定元素的第一个出现(如果存在)(可选操作)。
E get(int index)
//返回此列表中指定位置的元素
E set(int index, E element)
//用指定的元素(可选操作)替换此列表中指定位置的元素
void clear()
//从此列表中删除所有元素(可选操作)。
boolean contains(Object o)
//如果此列表包含指定的元素o,则返回 true 。
int indexOf(Object o)
//返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
int lastIndexOf(Object o)
//返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。
List<E> subList(int fromIndex, int toIndex)
//返回此列表中指定的 fromIndex (含)和 toIndex之间的视图。
注意:List
是个接口,并不能直接用来实例化,如果要使用,必须去实例化List
的实现类。在集合框架中,
ArrayList
和
LinkedList
都实现了
List
接口。