English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、サンプルを使用してJava ListIteratorインターフェースを学習します。
JavaコレクションフレームワークのインターフェースListIteratorは、リストの要素にアクセスする機能を提供します。
これは双方向です。これは、リストの要素を両方向にイテレートするのを許可します。
それはIteratorインターフェースを継承しています。
Listインターフェースは、ListIterator()メソッドを提供し、それがListIteratorインターフェースのインスタンスを返します。
ListIteratorインターフェースは、リストの要素に対してさまざまな操作を実行できるメソッドを提供します。
hasNext() - リストに要素が存在する場合、trueを返します
next() - リストの次の要素を返します
nextIndex() - next()メソッドで返される要素のインデックスを返します
previous() - リストの前の要素を返します
previousIndex()- previous()メソッドで返される要素のインデックスを返します
remove()- next()やprevious()で返された要素を削除します
set() - next()やprevious()で返された要素を指定された要素に置き換えます
以下の例では、配列リストに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
以下の例では、配列リストに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。