English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Java フローコントロール

Java 配列

Java 面向オブジェクト(I)

Java 面向オブジェクト(II)

Java 面向オブジェクト(III)

Java 例外処理

Java リスト(List)

Java キュー(キュー)

Java Mapコレクション

Java Setコレクション

Java 入出力(I/O)

Java Reader/Writer

Java その他のトピック

Java ListIterator インターフェース

このチュートリアルでは、サンプルを使用してJava ListIteratorインターフェースを学習します。

JavaコレクションフレームワークのインターフェースListIteratorは、リストの要素にアクセスする機能を提供します。

これは双方向です。これは、リストの要素を両方向にイテレートするのを許可します。

それはIteratorインターフェースを継承しています。

Listインターフェースは、ListIterator()メソッドを提供し、それがListIteratorインターフェースのインスタンスを返します。

ListIteratorのメソッド

ListIteratorインターフェースは、リストの要素に対してさまざまな操作を実行できるメソッドを提供します。

  • hasNext() - リストに要素が存在する場合、trueを返します

  • next() - リストの次の要素を返します

  • nextIndex() - next()メソッドで返される要素のインデックスを返します

  • previous() - リストの前の要素を返します

  • previousIndex()- previous()メソッドで返される要素のインデックスを返します

  • remove()- next()やprevious()で返された要素を削除します

  • set() - next()やprevious()で返された要素を指定された要素に置き換えます

例1:ListIteratorの実装

以下の例では、配列リストにListIteratorインターフェースのnext()、nextIndex()、hasNext()メソッドを実装しました。

import java.util.ArrayList;
import java.util.ListIterator;
class Main {
    public static void main(String[] args) {
        //ArrayListを作成します
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: " + numbers);
        //ListIteratorのインスタンスを作成します
        ListIterator<Integer> iterate = numbers.listIterator();
        //next()メソッドを使用します
        int number1 = iterate.next();
        System.out.println("次の要素: " + number1);
        //nextIndex()を使用します
        int index1 = iterate.nextIndex();
        System.out.println("次の要素の位置: " + index1);
        //hasNext()メソッドを使用します
        System.out.println("次の要素がありますか? " + iterate.hasNext());
    }
}

出力結果

ArrayList:  [1, 3, 2]
次の要素: 1
次の要素の位置: 1
次の要素がありますか? true

例2:ListIteratorの実装

以下の例では、配列リストにListIteratorインターフェースのprevious()とpreviousIndex()メソッドを実装しました。

import java.util.ArrayList;
import java.util.ListIterator;
class Main {
    public static void main(String[] args) {
        //ArrayListを作成します
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: " + numbers);
        //ListIteratorのインスタンスを作成します
        ListIterator<Integer> iterate = numbers.listIterator();
        iterate.next();
        iterate.next();
        //previous()メソッドを使用して
        int number1 = iterate.previous();
        System.out.println("前の要素: ") + number1);
        //previousIndex()を使用して
        int index1 = iterate.previousIndex();
        System.out.println("前の要素の場所: ") + index1);
    }
}

出力結果

ArrayList:  [1, 3, 2]
前の要素: 3
前の要素の場所: 0

上記の例では、最初のIteratorインスタンスは1前に1前に要素がなく、したがってprevious()メソッドを呼び出すと例外が発生します。

その後、私たちはnext()を使用しました2このメソッド。今、Iteratorインスタンスは3まで2の間に

したがって、previous()メソッドは3。