モジュール java.base
パッケージ java.util

インタフェースListIterator<E>

  • すべてのスーパー・インタフェース:
    Iterator<E>

    public interface ListIterator<E>
    extends Iterator<E>
    リスト用のイテレータ。プログラマがいずれかの方向にリストをトラバースしたり、イテレーション時にリストを変更したり、イテレータのリスト内での現在の位置を取得したりできます。 ListIteratorには現在の要素がありません。そのカーソル位置は常に、previous()呼出しによって返される要素と、next()呼出しによって返される要素との間にあります。 長さnのリストのイテレータには、次のキャレット(^)で示すように、n+1個のカーソル位置があり得ます。
                          Element(0)   Element(1)   Element(2)   ... Element(n-1)
     cursor positions:  ^            ^            ^            ^                  ^
     
    remove()メソッドとset(Object)メソッドは、カーソル位置によっては定義されていません。これらのメソッドは、next()またはprevious()の呼出しによって返された最後の要素を処理するように定義されています。

    このインタフェースは、Java Collections Frameworkのメンバーです。

    導入されたバージョン:
    1.2
    関連項目:
    Collection, List, Iterator, Enumeration, List.listIterator()
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 
      修飾子と型 メソッド 説明
      void add​(E e)
      指定された要素をリストに挿入します(オプションの操作)。
      boolean hasNext()
      リストを順方向にトラバースしたときに、このリスト・イテレータがさらに要素を持っている場合にtrueを返します。
      boolean hasPrevious()
      リストを逆方向にトラバースしたときに、このリスト・イテレータがさらに要素を持っている場合にtrueを返します。
      E next()
      リスト内の次の要素を返し、カーソル位置を前に進めます。
      int nextIndex()
      次にnext()を呼び出したときに返されることになる要素のインデックスを返します。
      E previous()
      リスト内の前の要素を返し、カーソル位置を逆方向に移動します。
      int previousIndex()
      次にprevious()を呼び出したときに返されることになる要素のインデックスを返します。
      void remove()
      next()またはprevious()によって返された最後の要素をリストから削除します(オプションの操作)。
      void set​(E e)
      next()またはprevious()から最後に返された要素を指定された要素で置き換えます(オプションの操作)。
    • メソッドの詳細

      • hasNext

        boolean hasNext()
        リストを順方向にトラバースしたときに、このリスト・イテレータがさらに要素を持っている場合にtrueを返します。 つまり、next()が例外をスローするのではなく要素を返す場合は、trueを返します。
        定義:
        hasNext、インタフェース: Iterator<E>
        戻り値:
        リストを順方向にたどったときに、リスト・イテレータがさらに要素を持っている場合はtrue
      • next

        E next()
        リスト内の次の要素を返し、カーソル位置を前に進めます。 このメソッドは、リストを反復するために繰返し呼び出される場合と、前後に移動するためにprevious()の呼び出しと組み合わされる場合があります。 nextpreviousの呼出しを交互に行うと、繰返し同じ要素が返されます。
        定義:
        next、インタフェース: Iterator<E>
        戻り値:
        リストの次の要素
        例外:
        NoSuchElementException - 反復処理で次の要素がない場合
      • hasPrevious

        boolean hasPrevious()
        リストを逆方向にトラバースしたときに、このリスト・イテレータがさらに要素を持っている場合にtrueを返します。 つまり、previous()が例外をスローするのではなく要素を返す場合は、trueを返します。
        戻り値:
        リストを逆方向にたどったときに、リスト・イテレータがさらに要素を持っている場合はtrue
      • previous

        E previous()
        リスト内の前の要素を返し、カーソル位置を逆方向に移動します。 このメソッドは、リストを逆方向に反復するために繰返し呼び出される場合と、前後に移動するためにnext()の呼び出しと組み合わされる場合があります。 nextpreviousの呼出しを交互に行うと、繰返し同じ要素が返されます。
        戻り値:
        リストの前の要素
        例外:
        NoSuchElementException - 反復処理で前の要素がない場合
      • nextIndex

        int nextIndex()
        次にnext()を呼び出したときに返されることになる要素のインデックスを返します。 リスト・イテレータがリストの末尾にある場合はリストのサイズを返します。
        戻り値:
        次にnextを呼び出したときに返されることになる要素のインデックス。リスト・イテレータがリストの最後にある場合はリストのサイズ
      • previousIndex

        int previousIndex()
        次にprevious()を呼び出したときに返されることになる要素のインデックスを返します。 リスト・イテレータがリストの先頭にある場合は -1を返します。
        戻り値:
        次にpreviousを呼び出したときに返されることになる要素のインデックス。リスト・イテレータがリストの先頭にある場合は -1
      • remove

        void remove()
        next()またはprevious()によって返された最後の要素をリストから削除します(オプションの操作)。 この呼出しはnextまたはpreviousの呼び出しごとに1回だけ行うことができます。 この呼出しは、前回のnextまたはpreviousの呼出し以降にadd(E)が呼び出されていない場合にだけ行うことができます。
        定義:
        remove、インタフェース: Iterator<E>
        例外:
        UnsupportedOperationException - removeオペレーションがこのリスト・イテレータでサポートされない場合
        IllegalStateException - nextpreviousのどちらも呼び出されていない場合、あるいはnextまたはpreviousの最後の呼出し後にremoveまたはaddが呼び出された場合
      • set

        void set​(E e)
        next()またはprevious()から最後に返された要素を指定された要素で置き換えます(オプションの操作)。 この呼出しは、前回のnextまたはpreviousの呼出し以降にremove()add(E)のどちらも呼び出されていない場合にだけ行うことができます。
        パラメータ:
        e - nextまたはpreviousによって返された最後の要素を置き換える要素
        例外:
        UnsupportedOperationException - setオペレーションがこのリスト・イテレータでサポートされない場合
        ClassCastException - 指定された要素のクラスが原因で、このリストにその要素を追加できない場合
        IllegalArgumentException - 指定された要素のある特性が原因で、このリストにその要素を追加できない場合
        IllegalStateException - nextpreviousのどちらも呼び出されていない場合、あるいはnextまたはpreviousの最後の呼出し後にremoveまたはaddが呼び出された場合
      • add

        void add​(E e)
        指定された要素をリストに挿入します(オプションの操作)。 要素は、next()によって返される要素(ある場合)の直前、およびprevious()によって返される要素(ある場合)の直後に挿入されます。 リストに要素がない場合は、新しい要素がリストの唯一の要素になります。 新しい要素は、暗黙のカーソルの前に挿入されます。後続のnextの呼出しは影響を受けず、後続のpreviousの呼出しは新しい要素を返します。 この呼出しは、nextIndexまたはpreviousIndexの呼出しによって返される値を1増やします。
        パラメータ:
        e - 挿入する要素
        例外:
        UnsupportedOperationException - addメソッドがこのリスト・イテレータでサポートされない場合
        ClassCastException - 指定された要素のクラスが原因で、このリストにその要素を追加できない場合
        IllegalArgumentException - この要素のある特性が原因で、このリストにその要素を追加できない場合