工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java ListIteratorインターフェース完全ガイド:双方向走査と要素操作

Java ListIteratorインターフェース

JavaのListIteratorインターフェースを実例と明確な説明で包括的に解説します。

ListIteratorインターフェースはIteratorを拡張し、双方向走査を可能にします。Listを前後両方向に移動しながら、その場で要素の変更が可能です。

ナビゲート、削除、置換ができるため、リストを扱うJava開発者にとって必須のツールです。

ListIteratorのコアメソッド

例1:前方向ナビゲーション

ArrayListでnext()、nextIndex()、hasNext()を実演:

import java.util.ArrayList;
import java.util.ListIterator;

class Main {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: " + numbers);
        
        ListIterator<Integer> iterator = numbers.listIterator();
        int first = iterator.next();
        System.out.println("次の要素: " + first);
        
        int nextIndex = iterator.nextIndex();
        System.out.println("次の要素の位置: " + nextIndex);
        
        System.out.println("次の要素はありますか? " + iterator.hasNext());
    }
}

出力

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

例2:後方向ナビゲーション

イテレータを2回進めた後でprevious()とpreviousIndex()を実演:

import java.util.ArrayList;
import java.util.ListIterator;

class Main {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: " + numbers);
        
        ListIterator<Integer> iterator = numbers.listIterator();
        iterator.next();
        iterator.next();
        
        int prev = iterator.previous();
        System.out.println("前の要素: " + prev);
        
        int prevIndex = iterator.previousIndex();
        System.out.println("前の要素の位置: " + prevIndex);
    }
}

出力

ArrayList: [1, 3, 2]
前の要素: 3
前の要素の位置: 0

最初は最初の要素の前に位置しているため、previous()呼び出しは例外をスローします。2回のnext()呼び出し後、イテレータは3と2の間に位置するため、previous()は3を返します。

Java

  1. C#インターフェイスをマスターする:定義、実装、実践的なユースケース
  2. Java演算子をマスター:種類、構文、実践例
  3. Javaコメント:種類、使い方、ベストプラクティス
  4. Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
  5. Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
  6. Javaアノテーション完全ガイド:種類、配置場所、実践例
  7. Java NavigableSetインターフェースをマスター:ナビゲーション、ソート、実践例
  8. Javaラムダ式完全ガイド:基礎からStream APIまで
  9. Java インターフェース vs 抽象クラス:適切な抽象化の選び方
  10. Javaインターフェース完全ガイド: 定義・実装・多重継承・タグインターフェース
  11. Java 9プライベートインターフェースメソッド:カプセル化とコード再利用を強化