Iterator和ListIterator主要区别有:
一、ListIterator有add()方法,可以向List中添加对象,而Iterator不能。
二、ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历。但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。
三、ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator 没有此功能。
四、都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iterator仅能遍历,不能修改。因为ListIterator的这些功能,可以实现对LinkedList等List数据结构的操作。
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
public class TestListIterator
{
public static void main(String args[])
{
TestListIterator tliterator=new TestListIterator();
List<String> list=new LinkedList<String>();
tliterator.initial(list);//初始化这个链接表
ListIterator<String> li=list.listIterator();//将该链接表转化为ListIterator
//下面的代码进行ListIterator对象li的各种功能检测
//顺序输出迭代器中的元素
while(li.hasNext())
{System.out.print(li.next().toString()+" ");}
//验证add方法,给li添加两个元素
li.add("元素五");
li.add("元素六");
System.out.println();//产生换行操作
//通过使用ListIterator的特有方法hasPrevious与previous实现List的元素
//逆序输出
for(String str;li.hasPrevious();)
{System.out.print(li.previous().toString()+" ");}
System.out.println();//产生换行操作
//顺序输出li迭代器中现有的元素
while(li.hasNext())
{System.out.print(li.next().toString()+" ");}
System.out.println();//产生换行操作
//通过使用ListIterator的set方法来改变li中的元素
for(String str;li.hasPrevious();)
{
str=li.previous().toString();
li.set(str.replaceAll("元素","元素编号"));
}
//顺序输出li迭代器中现有的元素
while(li.hasNext())
{System.out.print(li.next().toString()+" ");}
}
//初始化List方法
public void initial(List<String> list)
{
list.add("元素一");
list.add("元素二");
list.add("元素三");
list.add("元素四");
}
}
分享到:
相关推荐
迭代器的主要方法包括`hasNext()`(检查集合中是否存在下一个元素)、`next()`(返回当前元素并移动到下一个)和`remove()`(删除当前元素)。 2. **获取迭代器** 要使用`Iterator`,首先需要通过调用集合类的`...
在Java编程中,`ListIterator`是`List`接口提供的一种特殊的迭代器,它具有双向遍历的能力,不仅可以向前遍历列表,还可以向后遍历。`ListIterator`还提供了在遍历过程中添加、修改和删除元素的功能,使得对列表的...
- `listIterator(int index)`:返回一个列表迭代器,从指定位置开始。 4. **链表特性**: - 链表的插入和删除操作通常比数组(如ArrayList)更快,因为它们不需要移动元素。 - 访问中间元素的效率较低,因为必须...
- `listIterator()`:返回一个列表迭代器,可以双向遍历链表。 6. **链表的其他操作**: - `isEmpty()`:检查链表是否为空。 - `size()`:返回链表中的元素数量。 - `contains(Object o)`:检查链表是否包含...
5. 最后,可能包含了集合的遍历策略,如迭代器、增强for循环(foreach)以及流API的使用。 通过这个压缩包的学习,初学者可以深入理解Java集合框架的基础概念和常用操作,为实际开发打下坚实基础。
- **ListIterator**:专门用于遍历List的迭代器,支持双向移动。 举例来说,`Careers_Data_01.java`展示了如何使用ArrayList。在这个例子中,我们创建了一个ArrayList对象`al`,向其中添加元素,然后打印其大小和...
"Java集合中List的用法代码示例" Java集合中List的用法代码示例是Java中最...* listIterator():获取List的列表迭代器 List是一个非常重要和常用的集合类型,在Java集合中有许多实现类和方法可以供我们选择和使用。
- **解析**:题目询问哪种迭代器可以双向遍历集合。 - ListIterator接口继承自Iterator接口,提供了额外的方法支持对列表进行前后双向遍历。 - **结论**:正确答案为ListIterator。 #### 16. HTTP 协议交互 - **...
此外,ArrayList还支持迭代器(Iterator)和列表迭代器(ListIterator),它们提供了一种更高效的方式来遍历和修改列表。例如,你可以使用`iterator()`方法获取迭代器,然后使用`hasNext()`和`next()`方法遍历元素。...
此外,List 还有一个特殊的迭代器——**ListIterator**,它是 Iterator 的子接口。ListIterator 允许双向遍历列表,同时提供了添加元素、查看元素、删除元素以及检查前后元素是否存在等功能。在迭代过程中,应避免...