标签:listiterator list java 集合 arraylist
Collection和Map接口是集合框架的根接口,List为Collection接口的子接口,List集合代表一个元素有序、可重复的集
合,集合中每个元素都有其对应的顺序索引。List集合允许使用重复元素,可以通过索引来访问指定位置的集合元
素。
List作为 Collection接口的子接口,可以使用 Collection接口里的全部方法。List是有序结合,因此List集合里增加了一
个根据索引来操作集合元素的方法。
boolean addAll(int index, Collection<? extends E> c);
将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。将当前处于该位置的元素(如果有的话)
和所有后续元素向右移动(增加其索引)。新元素将按照它们通过指定 collection 的迭代器所返回的顺序出现在此列
表中。如果在操作正在进行中修改了指定的 collection,那么该操作的行为是不确定的(注意,如果指定的 collection
是此列表,并且它是非空的,则会发生这种情况。)
E get(int index);返回列表中指定位置的元素。
E set(int index, E element);用指定元素替换列表中指定位置的元素(可选操作)。
List<E> subList(int fromIndex, int toIndex);
返回列表中指定的 fromIndex(包括 )和toIndex(不包括)之间的部分视图。(如果 fromIndex 和 toIndex 相等,则
返回的列表为空)。返回的列表由此列表支持,因此返回列表中的非结构性更改将反映在此列表中,反之亦然。返
回的列表支持此列表支持的所有可选列表操作。
此方法省去了显式范围操作(此操作通常针对数组存在)。通过传递 subList 视图而非整个列表,期望列表的任何操
作可用作范围操作。例如,下面的语句从列表中移除了元素的范围:
list.subList(from, to).clear();
可以对 indexOf 和 lastIndexOf 构造类似的语句,而且 Collections 类中的所有算法都可以应用于 subList。
如果支持列表(即此列表)通过任何其他方式(而不是通过返回的列表)从结构上修改,则此方法返回的列表语义
将变为未定义(从结构上修改是指更改列表的大小,或者以其他方式打乱列表,使正在进行的迭代产生错误的结
果)。
List提供了一个listIterator方法:
ListIterator<E> listIterator();
public interface ListIterator<E> extends Iterator<E>
ListIterator接口在Iterator接口基础上增加了以下方法:
boolean hasPrevious();
如果以逆向遍历列表,列表迭代器有多个元素,则返回 true。
E previous();
返回列表中的前一个元素。可以重复调用此方法来迭代列表,或混合调用next 来前后移动(注意交替调用 next 和
previous 将重复返回相同的元素)。
void add(E e);将指定的元素插入列表(可选操作)。
ListIterator与普通的Iterator进行对比,ListIterator增加了向前迭代的功能,而且ListIterator还可以通过add 方法向
List集合中添加元素(Iterator只能删除元素)。
转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/44025709 情绪控_
标签:listiterator list java 集合 arraylist
原文地址:http://blog.csdn.net/hai_qing_xu_kong/article/details/44025709