⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iteratordemo.java

📁 java2参考大全上的例子的源码和自己的理解.
💻 JAVA
字号:
package iterator和listiterator;

/**
 使用迭代函数

在通过迭代函数访问类集之前,必须得到一个迭代函数。每一个Collection类都提供一
个iterator( )函数,该函数返回一个对类集头的迭代函数。通过使用这个迭代函数对象,可
以访问类集中的每一个元素,一次一个元素。通常,使用迭代函数循环通过类集的内容,
 步骤如下:

 1.  通过调用类集的iterator( )方法获得对类集头的迭代函数。
 2.  建立一个调用hasNext( )方法的循环,只要hasNext( )返回true,就进行循环迭代。
 3.  在循环内部,通过调用next( )方法来得到每一个元素。

 对于执行List的类集,也可以通过调用ListIterator来获得迭代函数。正如上面解释的那
 样,列表迭代函数提供了前向或后向访问类集的能力,并可让你修改元素。否则,ListIterator
 如同Iterator功能一样。

 这里是一个实现这些步骤的例子,说明了Iterator和ListIterator。它使用ArrayList对象,
 但是总的原则适用于任何类型的类集。当然,ListIterator只适用于那些实现List接口的类集。

 程序的输出如下所示:

 Original contents of al: C A E B D F
 Modified contents of al: C+ A+ E+ B+ D+ F+
 Modified list backwards: F+ D+ B+ E+ A+ C+

 特别值得注意的是:列表是如何被反向显示的。在列表被修改之后,litr指向列表的末
端(记住,当到达列表末端时,litr.hasNext( )方法返回false)。为了以反向遍历列表,程序
继续使用litr,但这一次,程序检测它是否有前一个元素。只要它有前一个元素,该元素就
被获得并被显示出来。
*/

// Demonstrate iterators.
import java.util.*;

class IteratorDemo {
  public static void main(String args[]) {
    // create an array list
    ArrayList al = new ArrayList();

    // add elements to the array list
    al.add("C");
    al.add("A");
    al.add("E");
    al.add("B");
    al.add("D");
    al.add("F");

// use iterator to display contents of al
    System.out.print("Original contents of al: ");
    Iterator itr = al.iterator();
    while (itr.hasNext()) {
      Object element = itr.next();
      System.out.print(element + " ");
    }
    System.out.println();

    // modify objects being iterated
    ListIterator litr = al.listIterator();
    while (litr.hasNext()) {
      Object element = litr.next();
      litr.set(element + "+");
    }

    System.out.print("Modified contents of al: ");
    itr = al.iterator();
    while (itr.hasNext()) {
      Object element = itr.next();
      System.out.print(element + " ");
    }
    System.out.println();

    // now, display the list backwards
    System.out.print("Modified list backwards: ");
    while (litr.hasPrevious()) {
      Object element = litr.previous();
      System.out.print(element + " ");
    }
    System.out.println();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -