在Java中,我们将首先看到Iterator与ListIterator有何不同?
Iterator是Java中引入的接口。
迭代器本质上是单向的(即,仅在向前的方向上迭代或遍历元素或对象)
在使用Iterator迭代元素时,我们可以执行读取和删除操作,而不能执行任何其他操作,例如添加对象,替换对象。
我们可以使用iterator()
Iterator接口的方法创建一个Iterator对象。
语法:
Interface_name object_name = Collection_method. Iterator_method
示例
Iterator itr = Set.iterator();
迭代器可以用于List、Set、Queue等,它支持集合框架的其他接口,也可以与List单独使用。
迭代器程序:
import java.util.*; class IteratorClass { public static void main(String[] args) { //创建一个Set接口对象 Set set = new HashSet(); //通过使用add()方法在集合中添加一些元素 set.add("Java"); set.add("Python"); set.add("C++"); set.add("Ruby"); set.add("C"); //创建Iterator接口的对象 Iterator itr = set.iterator(); //遍历元素的循环 while (itr.hasNext()) { String str = (String) itr.next(); if (str.equals("C")) itr.remove(); } //Set接口的显示元素 System.out.println("The final list of Iterator :" + set); } }
输出结果
E:\Programs>javac IteratorClass.java E:\Programs>java IteratorClass The final list of Iterator :[Ruby, Python, C++, Java]
在Java中,我们将首先看到ListIterator与Iterator有何不同?
ListIterator是Java中引入的Iterator的子接口。
ListIterator本质上是双向的(即,它在向前或向后的两个方向上迭代或遍历元素或对象)。
在通过ListIterator迭代元素时,我们可以执行读取,删除,替换和添加操作,并且可以执行任何其他操作。
我们可以使用listIterator()
ListIterator接口的方法创建一个ListIterator对象。
语法:
Interface_name(or class_name) object_name = Collection_method.ListIterator_method
示例
ListIterator litr = List.listIterator();
ListIterator只能在List中使用,它不支持集合框架的其他接口,如Set,Queue等。
ListIterator程序:
import java.util.*; class ListIteratorClass { public static void main(String[] args) { //创建一个LinkedList对象 LinkedList ll = new LinkedList(); //通过使用add()方法在链表中添加一些元素 ll.add("Java"); ll.add("Python"); ll.add("C++"); ll.add("Ruby"); ll.add("C"); //创建一个ListIterator接口的对象 ListIterator litr = ll.listIterator(); //遍历元素的循环 while (litr.hasNext()) { String str = (String) litr.next(); //删除元素 if (str.equals("C")) litr.remove(); //替换元素 if (str.equals("C++")) litr.set("TOC"); //添加元素 if (str.equals("C")) litr.add("Data Structure"); } //Set接口的显示元素 System.out.println("The final list of ListIterator :" + ll); } }
输出结果
E:\Programs>javac ListIteratorClass.java E:\Programs>java ListIteratorClass The final list of ListIterator :[Java, Python, TOC, Ruby, Data Structure]