を使用したJavaのIteratorとListIteratorの違い1. トラバーサル方向:ListIteratorは、プログラマがprevious()とnext()メソッドを使用して、前方方向と後方方向の両方の方向にリストオブジェクトを反復することを可能にします。
Iteratorを使用して、リストを反復処理し、オブジェクトを一方向、つまり前方にマップし、設定することができます。
2. 実装されたオブジェクトの設定とマップTraversal:ListIteratorは、リストオブジェクトのみをトラバースするために使用できます。 しかし、IteratorはMap、List、Set実装されたオブジェクトをトラバースするために使用できます。
たとえば、
//ListIteratorオブジェクトが作成されます
ListIterator listIteratorObject=List。listIterator();//IteratorオブジェクトはcreatedIterator iteratorObject=Listです。イテレータ();
3. ListIterator Oracle docsによると、
ListIteratorは、add(e e)、remove()またはset(e e)を使用して反復中にリストを変更できます。
イテレータはトラバーサル中に要素を追加することはできませんが、remove()メソッドのみで構成されるため、反復中に基になるコレクションから要素を削除 イテレータにはadd(e e)およびset(e e)メソッドはありません。
4. イテレータの現在位置を決定する:ListIteratorは、リスト内のイテレータの現在位置を取得できます。トラバーサル中のIteratorの現在の位置は、Iteratorを使用して決定することはできません。
5. 要素のインデックスを取得する:ListIteratorは、previousIndex(e e)またはnextIndex(e e)メソッドを使用して要素のインデックスを取得できます。このようなメソッドが存在しないため、Iteratorを使用してインデックスを取得することはできません。
イテレータとListIteratorの例
javaをインポートします。ユーティルIterator;import java.util.ListIterator;パブリッククラスIteratorListIteratorExample{public static void main(String args) {
リストlistObject=新しいArrayList();listObject.add("Alive is awesome"); listObject.add("Love yourself");ListIterator listIteratorObject = listObject.listIterator();System.out.println("ListIterator object output in forward direction:");System.out.println("");while( listIteratorObject.hasNext() ) { System.out.println(listIteratorObject.next()); }System.out.println("ListIterator object output in backward direction:");System.out.println("");while( listIteratorObject.hasPrevious() ) { System.out.println(listIteratorObject.previous()); } List iteratorListObject = new ArrayList(); iteratorListObject.add("Facebook"); iteratorListObject.add("Google"); iteratorListObject.add("Apple"); Iterator javaHungryIterator = iteratorListObject.iterator();System.out.println("Iterator object output in forward direction:");while( javaHungryIterator.hasNext() ) { System.out.println(javaHungryIterator.next()); }}}
出力:
順方向のListIteratorオブジェクト出力:
生きていることは素晴らしいです自分を愛して
後方方向のListIteratorオブジェクト出力:あなた自身を愛して生きていることは素晴らしいです順方向のイテレータオブジェクト出力:FacebookGoogleAppleJava
におけるIteratorとListIteratorの類似点1. インターフェイス:IteratorとListIteratorの両方がインターフェイスです。 ListIteratorはIteratorインターフェイスを拡張します。
2を使用したjavaのIteratorとListIteratorの違い。 コレクションフレームワーク : IteratorとListIteratorはどちらもJava Collection Frameworkのメンバーです。
3. トラバーサル:両方ともオブジェクトのコレクションを反復処理するために使用されます。
4. Jdkに追加されたインタフェース:java1.2
の要約では、両方のインタフェースがjdkに追加されています : 例を使用したJavaのIteratorとListIteratorの違い
リスト | イテレータ | |
---|---|---|
トラバーサル方向 | 前方と後方の両方 | 前方 |
オブジェクトトラバーサル | リストのみ | マップ、セット、リスト |
追加および設定操作 | 両方の操作を許可します | 不可 |
イテレータの現在位置 | はい、 | を決定することはできません。 |
インデックスを取得する | はい | できません |