Iterator と ListIterator は Java の 3 つのカーソルのうちの 2 つで、どちらも Java.UTIL パッケージのコレクション フレームワークによって定義されています。それでは、それらの違いは何でしょうか? IteratorとListIteratorの違いについては以下の記事で紹介していますので、ご参考になれば幸いです。
Iterator とは
Iterator は反復子を表し、コレクション フレームワークのインターフェイスであり、使用されます。コレクション要素を横断するため。これにより、コレクション内の各要素を 1 つずつ反復処理したり、コレクションから要素を取得したり、コレクションから要素を削除したりできますが、Iterator を使用してコレクション内の要素を変更することはできません。
Iterator には、反復子をコレクションの先頭に戻す iterator() メソッドがあります。コレクションの先頭への反復子を取得し、コレクション内の要素を反復処理したら、ループを設定し、ループが反復されるたびに hasNext() を呼び出します。
hasNext() が true を返した場合は、コレクション内に次の要素があることを意味し、false を返した場合は、すべての要素が走査されたことを意味します。次に、ループ内で next() を使用してコレクション内の各要素を取得できます。 next() メソッドは、コレクションの次の要素を返します。
欠点:
● Iterator を使用すると、コレクションを前方に移動することしかできません。
● Iterator を使用すると、コレクション内の要素を操作したり変更したりすることはできません。
ListIterator とは
ListIterator は Collection フレームワークのインターフェイスであり、Iterator インターフェイスを拡張するために使用されます。 ListIterator を使用すると、コレクションの要素を前後に移動できます。コレクション内の要素を追加、削除、または変更することもできます。つまり、Iteratorのデメリットを解消していると言えます。
ListIterator のメソッドは以下のとおりです。
● hasNext(): true が返された場合、コレクション内にさらに要素があることが確認されます。
● Next(): リストの次の要素を返します。
● NextIndex(): リスト内の次の要素のインデックスを返します。
● HasPrevious(): コレクション内に反対の要素がある場合は true を返します。
●previous(): コレクション内の前の要素を返します。
●previousIndex(): コレクション内の前の要素のインデックスを返します。
● Remove(): コレクションから要素を削除します。
● Set(): セット内の要素を変更します。
● Add(): 新しい要素をコレクションに追加します。
Iterator と ListIterator の主な違い
1. Traversal
Iterator を使用すると、次のようなすべてのコレクションを走査できます。 Map、List、Set として使用できますが、セット内の要素を順方向にのみトラバースできます。
ListIterator を使用すると、List によって実装されたオブジェクトのみをトラバースできますが、コレクション内の要素を前後にトラバースできます。
2. 要素の追加
Iterator はコレクションに要素を追加できませんが、ListIteror はコレクションに要素を追加できます。
3. 要素の変更
Iterator はコレクション内の要素を変更できませんが、ListIterator は set() を使用してコレクション内の要素を変更できます。
4. Index
Iterator ではコレクション内の要素のインデックスを取得できませんが、ListIterator を使用するとコレクション内の要素のインデックスを取得できます。
おすすめのビデオチュートリアル: 「Java チュートリアル 」
以上がこの記事の全内容です。皆様の学習にお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !
以上がJavaのIteratorとListIteratorの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。