1.Interable(迭代,按照一定的顺序,访问容器中的元素)
public interface Iterable<T>{
Iterator<T> iterator();
}
一个对象提供了一个iterator()方法,这个方法返回了一个 Iterator对象(用来迭代的对象,被称为迭代器),说明这个对象具有迭代能力。这种方式是为了给容器提供一种统一的遍历方式,就算不能访问下标,也可以进行遍历操作。
2.Collection(泛型,继承自Iterable)
Collection不一定是线性结构,也可以为非线性结构,不一定具备线性结构的特点。
(1)int size(); 返回容器中元素的个数。
(2)boolean isEmpty(); 容器是否为空,size() == 0。
(3)boolean contains(Object o);容器中是否包含o元素,需要遍历容器中所有元素来和o元素进行相等性比较,会调用对象的equals方法。
(4)boolean add(E e); 将元素e放入容器中,其中容器不一定是非线性结构,放入可能会失败。
(5)boolean remove(Object o);将容器中和o相等的其中一个元素删除掉,需要重写equals方法。
(6)boolean addAll(Collection c);将c容器中所有元素放入当前容器中,元素之间没有顺序。
(7)void clear(); 清空容器中的所有元素。
3.List
(1)boolean add(E e);将元素放入线性结构中,是尾插操作,放入不可能失败。
(2)void add(int index,E element); 将元素放入index下标位置,将[index,size())中的所有元素逻辑上后移一位。
(3)boolean remove(Object o);删除第一个遇到的和o相等的元素。
(4)E remove(int index);将index位置的元素从线性结构中取出并返回,并且将[index+1,size())的所有元素逻辑上前移一位。
(5)boolean addAll(Collection c);将c容器中的所有元素按照一定的顺序尾插到this容器中。
(6)void sort(Comparator<E> c);以c作为元素中的比较器,衡量元素大小进行原地排序。
(7)E get(int index);返回index下标位置的元素。
(8)E set(int index,E element);用element替换index位置的元素并返回index位置原来的元素。
(9)int indexOf(E e);从前往后,第一个和e相等的元素所在的位置。
(10)int lastIndexOf(E e);从前往后,最后一个和e相等的元素所在的位置。
(11)List<E> subList(int fromIndex,int toIndex);将原有线性结构的[fromIndex,toIndex)截取成一个新的线性结构并返回。