Java中Iterator和ListIterator之间的区别

In java, we will see first how Iterator differs from ListIterator?

在Java中,我们将首先看到Iterator与ListIterator有何不同?

迭代器 (Iterator)

  • Iterator is an interface which is introduced in java.

    Iterator是Java中引入的接口。

  • Iterator is unidirectional by nature (i.e It iterates or traverse an element or object in one direction only that's is forward direction)

    迭代器本质上是单向的(即,仅在向前的方向上迭代或遍历元素或对象)

  • While iterating an element by Iterator we can perform read and remove operation and we can't perform any other operation like add an object, replace an object.

    在使用Iterator迭代元素时,我们可以执行读取和删除操作,而不能执行任何其他操作,例如添加对象,替换对象。

  • We can create an Iterator object by using iterator() method of Iterator interface.

    我们可以使用Iterator接口的iterator()方法创建一个Iterator对象。

Syntax:

句法:

    Interface_name object_name = Collection_method. Iterator_method

Example:

例:

    Iterator itr = Set.iterator(); 

Iterator can be used in List, Set, Queue, etc and it supports other interfaces of collection framework too alone with List.

迭代器可以在列表,集合,队列等中使用,并且它与列表一起也支持收集框架的其他接口。

Iterator program:

迭代器程序:

import java.util.*; 

class IteratorClass {
 public static void main(String[] args) {
  // Creating a Set interface object
  Set set = new HashSet();

  // By using add() method to add few elements in set
  set.add("Java");
  set.add("Python");
  set.add("C++");
  set.add("Ruby");
  set.add("C");


  // Creating an object of Iterator interface
  Iterator itr = set.iterator();

  // loop for traversing an element
  while (itr.hasNext()) {
   String str = (String) itr.next();
   if (str.equals("C"))
    itr.remove();
  }
  // Display elements of Set interface 
  System.out.println("The final list of Iterator :" + set);
 }
}

Output

输出量

E:\Programs>javac IteratorClass.java

E:\Programs>java IteratorClass
The final list of Iterator :[Ruby, Python, C++, Java]

In java, we will see first how ListIterator differs from Iterator?

在Java中,我们将首先看到ListIterator与Iterator有何不同?

ListIterator (ListIterator)

  • ListIterator is a child interface of Iterator which is introduced in java.

    ListIterator是Java中引入的Iterator的子接口。

  • ListIterator is a bi-directional by nature (i.e It iterates or traverse an element or object in both directions that's is the forward direction and backward direction).

    ListIterator本质上是双向的(即,它在向前或向后的两个方向上迭代或遍历元素或对象)。

  • While iterating an element by ListIterator we can perform read, remove, replace and add operation and we can perform any other operation.

    在通过ListIterator迭代元素时,我们可以执行读取,删除,替换和添加操作,并且可以执行任何其他操作。

  • We can create a ListIterator object by using listIterator() method of ListIterator interface.

    我们可以使用ListIterator接口的listIterator()方法创建一个ListIterator对象。

Syntax:

句法:

    Interface_name(or class_name) object_name = Collection_method.ListIterator_method

Example:

例:

    ListIterator litr = List.listIterator(); 

ListIterator can be used in List only and it does not support other interfaces of collection framework like Set, Queue, etc.

ListIterator只能在List中使用,它不支持集合框架的其他接口,如Set,Queue等。

ListIterator program:

ListIterator程序:

import java.util.*;

class ListIteratorClass {
 public static void main(String[] args) {
  // Creating a LinkedList object
  LinkedList ll = new LinkedList();

  // By using add() method to add few elements in linked list
  ll.add("Java");
  ll.add("Python");
  ll.add("C++");
  ll.add("Ruby");
  ll.add("C");

  // Creating an object of ListIterator interface
  ListIterator litr = ll.listIterator();

  // loop for traversing an element
  while (litr.hasNext()) {
   String str = (String) litr.next();

   // We are removing an element by using remove() method
   if (str.equals("C"))
    litr.remove();

   // We are replacing an element by using set() method
   if (str.equals("C++"))
    litr.set("TOC");

   // We are adding an element by using add() method
   if (str.equals("C"))
    litr.add("Data Structure");
  }

  // Display elements of Set interface 
  System.out.println("The final list of ListIterator :" + ll);
 }
}

Output

输出量

E:\Programs>javac ListIteratorClass.java

E:\Programs>java ListIteratorClass
The final list of ListIterator :[Java, Python, TOC, Ruby, Data Structure]


翻译自: https://www.includehelp.com/java/differences-between-iterator-and-listiterator-in-java.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值