`
单刀刑天
  • 浏览: 40245 次
文章分类
社区版块
存档分类
最新评论

ListIterator系列表迭代器演示

阅读更多

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("元素四");
 }
}

 

 

分享到:
评论

相关推荐

    java Iterator迭代器的使用

    迭代器的主要方法包括`hasNext()`(检查集合中是否存在下一个元素)、`next()`(返回当前元素并移动到下一个)和`remove()`(删除当前元素)。 2. **获取迭代器** 要使用`Iterator`,首先需要通过调用集合类的`...

    java使用ListIterator对List遍历时添加修改删除​

    在Java编程中,`ListIterator`是`List`接口提供的一种特殊的迭代器,它具有双向遍历的能力,不仅可以向前遍历列表,还可以向后遍历。`ListIterator`还提供了在遍历过程中添加、修改和删除元素的功能,使得对列表的...

    javalinkedlist:编写一个程序,演示您了解如何使用Java LinkedList类

    - `listIterator(int index)`:返回一个列表迭代器,从指定位置开始。 4. **链表特性**: - 链表的插入和删除操作通常比数组(如ArrayList)更快,因为它们不需要移动元素。 - 访问中间元素的效率较低,因为必须...

    LinkedList-in-Java:该程序实现了完整的链表集合

    - `listIterator()`:返回一个列表迭代器,可以双向遍历链表。 6. **链表的其他操作**: - `isEmpty()`:检查链表是否为空。 - `size()`:返回链表中的元素数量。 - `contains(Object o)`:检查链表是否包含...

    Set-List-Map.rar_DEMO_list set map

    5. 最后,可能包含了集合的遍历策略,如迭代器、增强for循环(foreach)以及流API的使用。 通过这个压缩包的学习,初学者可以深入理解Java集合框架的基础概念和常用操作,为实际开发打下坚实基础。

    Java_10_类集的使用.ppt

    - **ListIterator**:专门用于遍历List的迭代器,支持双向移动。 举例来说,`Careers_Data_01.java`展示了如何使用ArrayList。在这个例子中,我们创建了一个ArrayList对象`al`,向其中添加元素,然后打印其大小和...

    java集合中list的用法代码示例

    "Java集合中List的用法代码示例" Java集合中List的用法代码示例是Java中最...* listIterator():获取List的列表迭代器 List是一个非常重要和常用的集合类型,在Java集合中有许多实现类和方法可以供我们选择和使用。

    2021-2022计算机二级等级考试试题及答案No.19025.docx

    - **解析**:题目询问哪种迭代器可以双向遍历集合。 - ListIterator接口继承自Iterator接口,提供了额外的方法支持对列表进行前后双向遍历。 - **结论**:正确答案为ListIterator。 #### 16. HTTP 协议交互 - **...

    java代码-使用集合ArrayList对字符串进行存储和管理

    此外,ArrayList还支持迭代器(Iterator)和列表迭代器(ListIterator),它们提供了一种更高效的方式来遍历和修改列表。例如,你可以使用`iterator()`方法获取迭代器,然后使用`hasNext()`和`next()`方法遍历元素。...

    Java List简介_动力节点Java学院整理

    此外,List 还有一个特殊的迭代器——**ListIterator**,它是 Iterator 的子接口。ListIterator 允许双向遍历列表,同时提供了添加元素、查看元素、删除元素以及检查前后元素是否存在等功能。在迭代过程中,应避免...

Global site tag (gtag.js) - Google Analytics