2016-11-14 12 views
-1

私は書籍情報を保管するための目録を作成していました。私は挿入、削除、検索などの機能を持っています。 次に、運動の要件には、次のような行があることがわかりました。Javaを使用してリンクリストのイテレータ実装とは何ですか?

また、リンクされたリストのIteratorも実装する必要があります。

イテレータをオンラインで検索していくつかのビデオを見たが、イテレータが何であるか、リンクされたリストに実装する方法を理解できませんでした。

誰でも手伝ってもらえますか?ありがとうございました。

答えて

0

イテレータでは、基本的にコレクションを反復処理できます。私はとは何を意味するのか分からない:あなたは、あなたのリンクリスト

しかし、私は仮定のためのイテレータを実装するために必要とされる

、それはあなたがイテレータを使用して、あなたのコレクションを反復処理するのを望みますこのようなあなたの操作を行います。

は、Iteratorを使用してコレクションを反復:

List<Object> list = new LinkedList<>(); 
Iterator<Object> it = list.iterator(); 
while(it.hasNext()){ 
    Object obj = it.next(); 
    // Do stuff 
} 

これはあなたが探しているものではない場合、私が質問をmissunderstoodようです。

+0

はい私はこれが私がする必要があると信じています。しかし、問題は、リンクされたリストを作成し、ノードを使用して挿入、削除などの機能を実行したことです。これにイテレータを実装する方法は?リンクされたリスト全体をイテレータでやり直さなければならないようです。 – Acetamide

+0

私はそれが何を意味していると思います。そうであれば、最初から明示的に指定されているはずです。お役に立てて嬉しいです。 –

+0

質問は最後の文章でこれを伝えます...私の講師はNodeメソッドだけを教えていました。 1つの関数に実装するだけで、表示リスト関数だけを言うことができますか? – Acetamide

0

リンク済みリストは既に反復可能なインターフェース(他の依存関係を介して)を実装しています。これは、反復可能なIteratorオブジェクトをreturnするiterator()メソッドを持つ必要があることを示します。反復は、前の要素をすべてメモリに残さずに次の既存の要素をすべて取得することです。

イテレータは、next() - 存在する場合は次の要素を取得し、存在しない場合はnoSuchElementExceptionをスローし、trueまたはfalseを返すhasNext()の2つのメソッドを実装する必要があります。

私は、Iteratorがどのようにビルドされているのか、目的が何であるかの知識を得るために、Linked Listへの独自のラッパー用のIteratorのカスタム実装を実装する必要があると思います。

+0

私はそれを見ました。私は自分のプログラムで試して、それが機能しているかどうかを見ます。ありがとう! – Acetamide

関連する問題