在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]