Java学习笔记25

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(不包括)之间的部分视图。(如果 fromIndextoIndex 相等,则


返回的列表为空)。返回的列表由此列表支持,因此返回列表中的非结构性更改将反映在此列表中,反之亦然。返


回的列表支持此列表支持的所有可选列表操作。


此方法省去了显式范围操作(此操作通常针对数组存在)。通过传递 subList 视图而非整个列表,期望列表的任何操


作可用作范围操作。例如,下面的语句从列表中移除了元素的范围:


 list.subList(from, to).clear();

可以对 indexOflastIndexOf 构造类似的语句,而且 Collections 类中的所有算法都可以应用于 subList。


如果支持列表(即此列表)通过任何其他方式(而不是通过返回的列表)从结构上修改,则此方法返回的列表语义


将变为未定义(从结构上修改是指更改列表的大小,或者以其他方式打乱列表,使正在进行的迭代产生错误的结


果)。  



List提供了一个listIterator方法:

ListIterator<E> listIterator();

关于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  情绪控_ 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。