2011-08-06 8 views
1

私が理解しているリンクリストの実装は、二重リンクリストではなく、二重リンクリストに基づくJavaでの実装です(逆の方法はありません)。私には後戻りするメソッドdescendingIteratorが見えますが。私たちはそれを二重リンクリストの実装と呼ぶべきではないか?Javaでリンクされたリストの実装ですか?

+1

あなたの質問を言い換えることができますか?私はあなたが何を求めているのか分からない - 二重/二重(?)リンクリストに対するあなたの理解は何ですか?あなたはあなた自身も質問に答えたようです。 –

+1

参照:http://stackoverflow.com/questions/2297110/java-linkedlist-previous-next –

答えて

4

LinkedListは、実際には、単純なListとダブルリンクDequeという2つのインターフェイスを満たしています。それで、あなたはそれをどのように使用するかによって、両方を行うことができます。

(内部的には、それは前のと次の要素の参照を保持しない、それが二重にリンクされているので、あなたがこのようにそれを呼び出すようにしたい場合。。)

2

確かに、あなたは前方と後方に行くことができますだけで反復子を取得しますmyList.listIterator()を呼び出すと、 "next()"および "previous()"メソッドにアクセスできます。

ソース:http://download.oracle.com/javase/1.4.2/docs/api/java/util/ListIterator.html

+0

おそらくそれは良いでしょう:http://download.oracle.com/javase/6/docs/api/java/util/ListIterator .html –

1

はい、あなたが使用するJavaSEが提供する反復子インタフェースでそれを行うことができます。これは関数next()とprevious()を持っているため前後に進むことができ、hasNext()やhasPrevious()のような前の要素をチェックする機能もあります。あなたはそれを得ることを願っています。

関連する問題