在使用java集合的时候,都需要使用Iterator。但是java集合中还有一个迭代器ListIterator,在使用List、ArrayList、LinkedList和Vector的时候可以使用。这两种迭代器有什么区别呢?下面我们详细分析。这里有一点需要明确的时候,迭代器指向的位置是元素之前的位置,如下图所示:
这里假设集合List由四个元素List1、List...
分类:
编程语言 时间:
2014-11-27 20:31:56
阅读次数:
254
2:列表(List)
特点:
(1):有序的(插入的顺序有序),元素有索引值。
(2):允许重复。
set/get/listIterator/subList
ArrayList
特点:(1):底层数组方式实现。
(2):元素是有序的。(是指添加进去的元素有序,不是指对象之间的顺序)
(3):不是线程...
分类:
其他好文 时间:
2014-08-07 07:15:49
阅读次数:
239
Collections的sort方法代码: public static void sort(List list, Comparator c) { Object[] a = list.toArray(); Arrays.sort(a, (Comparator)c); ListIterator i = list.listIterator(); for (int j=0; j i.next...
分类:
其他好文 时间:
2014-07-29 22:08:52
阅读次数:
364
格式:
for(数据类型 变量名 : 被遍历的集合(Collection)或者数组){
}
对集合进行遍历:只能获取集合元素。但是不能对集合进行操作。
迭代器除了遍历,还可以进行remove集合中元素的动作。如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。
传统for和高级for有什么区别呢?
高级for有一个局限性。必须有被遍...
分类:
其他好文 时间:
2014-07-26 15:13:00
阅读次数:
193
对集合进行遍历 只能获取集合元素,但是不能对集合进行操作。 迭代器除了遍历,还可以进行remove的动作。 如果是用ListIterator,还可以在遍历过程中进行增删改查的动作。 for(String s : al) { s = } 传统for和高级for的区别? 1. 高级for有一个局限性,必...
分类:
其他好文 时间:
2014-07-19 17:31:32
阅读次数:
198
Vector的使用
vector类底层数组结构的,它包含可以使用整数索引进行访问的组件。不过,vector的大小可以根据需要增大或缩小,以适应创建vector后进行添加或移除项的操作,因此不需要考虑元素是否越界或者会不会浪费内存的问题。
由vector的iterator和listIterator方法所返回的迭代器是快速失败的:也即是它不能并发执行操作。如果在迭代器创建后的任意时间从结构上修改了...
分类:
编程语言 时间:
2014-06-11 06:43:17
阅读次数:
327
ListIterator的父接口是Iterator,是List接口中特有的迭代器。
ListIterator在Iterator的基础上,又新添了很多方法:
Iterator中的方法:
1、判断是否有下一个元素:hasNext();
2、获取下一个元素: next();
3、删除迭代器指向的元素:remove();
ListIterator新添的方法:
4、判断...
分类:
其他好文 时间:
2014-06-08 03:15:53
阅读次数:
246
Collection |--List:元素是有序的,元素可以重复。因为该集合体系有索引。
|--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。
List集合特有的迭代器。ListIterator是Iterator的子接口。 ...
分类:
其他好文 时间:
2014-05-07 19:35:32
阅读次数:
306