ホームページ  >  記事  >  Java  >  Java で Iterator 関数を使用してコレクションを走査する方法

Java で Iterator 関数を使用してコレクションを走査する方法

WBOY
WBOYオリジナル
2023-06-26 15:47:123794ブラウズ

Java では、コレクションは大量のデータの保存と処理を可能にする一般的なデータ構造です。多くの場合、コレクションの要素を操作するには、コレクションを走査する必要があります。この目的を達成するために、Java はコレクション内の要素を簡単に走査できる Iterator 関数を提供します。この記事では、Java で Iterator 関数を使用してコレクションを走査する方法を説明します。

1. イテレーター関数の定義

Java では、イテレーターは「イテレーター」インターフェースであり、コレクション内の要素を走査するために使用できる一連のメソッドを定義します。 Iterator インターフェイスは 5 つのメソッドを定義します:

  1. boolean hasNext(): 走査できる要素がまだある場合は true を返し、それ以外の場合は false を返します。
  2. E next(): 次の要素を返します。
  3. void delete(): イテレータによって最後に返された要素をコレクションから削除します (オプションの操作)。
  4. void forEachRemaining(Consumer0d74ac1b2f8f9ab0eb66f930789a9645 action): コレクション内の残りの要素を走査し、指定された操作を実行します。
  5. default void forEachRemaining(Consumer0d74ac1b2f8f9ab0eb66f930789a9645 action): Java 8 で導入された新しいメソッドで、指定された操作がない場合に NullPointerException をスローします。

2. Iterator 関数の使用

Iterator 関数は、通常、コレクション内の要素を走査するために while ループと一緒に使用されます。以下は、Iterator 関数を使用したサンプル プログラムです。

import java.util.ArrayList;
import java.util.Iterator;

public class IteratorExample {
    public static void main(String[] args) {

        // 创建一个包含整数(Integer)的数组列表
        ArrayList<Integer> numbers = new ArrayList<Integer>();

        // 添加元素
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);

        // 获取迭代器
        Iterator<Integer> it = numbers.iterator();

        // 遍历元素
        while(it.hasNext()) {
            Integer number = it.next();
            System.out.println(number);
        }
    }
}

このプログラムでは、まず ArrayList コレクションを作成し、それにいくつかの整数を追加します。次に、 iterator メソッドを呼び出して ArrayList のイテレータを取得します。次に、while ループを使用して、反復する要素がなくなるまでコレクション内の要素を反復処理します。ループ内で it.hasNext() メソッドを使用して、さらに通過する要素があるかどうかを確認します。存在する場合は、 it.next() メソッドを使用して次の要素を取得します。この例では、System.out.println メソッドを使用して各要素の値を出力します。

3. Iterator 関数と for-each ループの比較

コレクションを走査する場合、Iterator 関数と for-each ループが最も一般的に使用される 2 つの方法です。 Java 5 より前では、Iterator 関数を使用してコレクションを反復処理することが唯一のオプションでした。ただし、Java 5 以降では、for-each ループが導入され、コレクションの反復処理がより簡単かつ便利になりました。以下では、Iterator 関数と for-each ループの違いを比較しています。

  1. 構文

Iterator 関数の構文は、for-each ループの構文よりも複雑です。各ループ。まずイテレータを取得し、次に hasNext() メソッドと next() メソッドを呼び出して要素を反復処理する必要があります。それに比べて、for-each ループの構文はより簡潔であり、反復子の各要素を表すために必要な変数は 1 つだけです。

  1. 効率

多くの場合、Iterator 関数は for-each ループよりも効率的です。これは、Iterator 関数を使用すると、要素を反復処理しながら要素を削除できるためです。さらに、LinkedList などの一部の種類のコレクションでは、Iterator 関数を使用して走査するほうが、for-each ループより高速です。

  1. 関数

Iterator 関数は、for-each ループにはない関数をいくつか提供します。たとえば、Iterator 関数を使用すると、remove() メソッドを使用して、コレクションを走査しながら要素を削除できます。

4. 概要

Java で Iterator 関数を使用すると、コレクション内の要素を簡単に走査できます。 while ループを使用するか for-each ループを使用するかにかかわらず、Iterator 関数を使用してコレクションを走査できます。 Iterator 関数の構文は比較的複雑ですが、場合によっては、for-each ループよりも効率的で、より多くの関数があります。したがって、コレクションを走査するときは、2 つの方法を柔軟に使用し、実際の状況に応じてどちらを使用するかを選択する必要があります。

以上がJava で Iterator 関数を使用してコレクションを走査する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。