Foundation 1.1.2

java.util
インタフェース ListIterator

すべてのスーパーインタフェース:
Iterator

public interface ListIterator
extends Iterator

リストの反復子により、プログラマがいずれかの方向にリストをトラバースし、繰り返し処理時にリストを変更して、反復子の現在の位置をリストで取得することができます。ListIterator には現在の要素がありません。そのカーソル位置は、previous() の呼び出しによって返された要素と、next() の呼び出しによって返された要素との間に常にあります。長さ n のリストには、n+1 個 (0 以上 n 以下) の有効なインデックス値が含まれています。


Element(0)   Element(1)   Element(2)   ...Element(n)   
        ^            ^            ^            ^               ^
Index:0            1            2            3               n+1

 

remove() メソッドと set(Object) メソッドは、カーソル位置によっては定義されません。これらのメソッドは、next() または previous() の呼び出しによって返された最後の要素を処理するために定義されます。  

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

導入されたバージョン:
1.2
関連項目:
Collection, List, Iterator, Enumeration

メソッドの概要
 void add(Object o)
          指定された要素をリストに挿入します (任意のオペレーション)。
 boolean hasNext()
          リストを順方向にトラバースしたときに、リスト反復子がさらに要素を持っている場合に true を返します。
 boolean hasPrevious()
          リストを逆方向にトラバースしたときに、リスト反復子がさらに要素を持っている場合に true を返します。
 Object next()
          リスト内の次の要素を返します。
 int nextIndex()
          次に next を呼び出したときに返されることになる要素のインデックスを返します。
 Object previous()
          リストの前の要素を返します。
 int previousIndex()
          次に previous を呼び出したときに返されることになる要素のインデックスを返します。
 void remove()
          next または previous によって返された最後の要素をリストから削除します (任意のオペレーション)。
 void set(Object o)
          next または previous から最後に返された要素を指定された要素で置き換えます (任意のオペレーション)。
 

メソッドの詳細

hasNext

boolean hasNext()
リストを順方向にトラバースしたときに、リスト反復子がさらに要素を持っている場合に true を返します。つまり、next の呼び出しが例外をスローすることなく要素を返す場合は、true を返します。

定義:
インタフェース Iterator 内の hasNext
戻り値:
リストを順方向にトラバースしたときに、リスト反復子がさらに要素を持っている場合は true

next

Object next()
リスト内の次の要素を返します。このメソッドは、リストを反復するために繰り返し呼び出される場合と、前後に移動するために previous の呼び出しと組み合わされる場合があります。nextprevious の呼び出しを交互に行うと、繰り返し同じ要素が返されます。

定義:
インタフェース Iterator 内の next
戻り値:
リストの次の要素
例外:
NoSuchElementException - 繰り返し処理で次の要素がない場合

hasPrevious

boolean hasPrevious()
リストを逆方向にトラバースしたときに、リスト反復子がさらに要素を持っている場合に true を返します。つまり、previous の呼び出しが例外をスローすることなく要素を返す場合は、true を返します。

戻り値:
リストを逆方向にトラバースしたときに、リスト反復子がさらに要素を持っている場合は true

previous

Object 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 の呼び出し以降に ListIterator.add が呼び出されていない場合にだけ行うことができます。

定義:
インタフェース Iterator 内の remove
例外:
UnsupportedOperationException - リストの反復子が remove オペレーションをサポートしない場合
IllegalStateException - next または previous のどちらも呼び出されていない場合、あるいは前回の next または previous の呼び出しのあとで remove または add が呼び出された場合

set

void set(Object o)
next または previous から最後に返された要素を指定された要素で置き換えます (任意のオペレーション)。この呼び出しは、前回の next または previous の呼び出し以降に ListIterator.removeListIterator.add のどちらも呼び出されていない場合にだけ行うことができます。

パラメータ:
o - next または previous によって返される最後の要素と置換される要素
例外:
UnsupportedOperationException - リストの反復子が set オペレーションをサポートしない場合
ClassCastException - 指定された要素のクラスのために、このリストに要素を追加できない場合
IllegalArgumentException - この要素の一部の特性のために、このリストに要素を追加できない場合
IllegalStateException - next または previous のどちらも呼び出されていない場合、あるいは前回の next または previous の呼び出しのあとで remove または add が呼び出された場合

add

void add(Object o)
指定された要素をリストに挿入します (任意のオペレーション)。要素は、next によって返される次の要素があればその要素の直前、および previous によって返される次の要素があればその要素の直後に挿入されます。リストに要素がない場合は、新しい要素がリストの唯一の要素になります。新しい要素は、暗黙のカーソルの前に挿入されます。後続の next の呼び出しは影響を受けず、後続の previous の呼び出しは新しい要素を返します。この呼び出しは、nextIndex または previousIndex の呼び出しによって返される値を 1 増やします。

パラメータ:
o - 挿入される要素
例外:
UnsupportedOperationException - リスト反復子が add メソッドをサポートしていない場合
ClassCastException - 指定された要素のクラスのために、このリストに要素を追加できない場合
IllegalArgumentException - この要素のある側面が原因で、このリストにこの要素を追加できない場合

Foundation 1.1.2

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。