LinkedList クラスのオブジェクトを循環リンク リストに変換する方法はありますか。
または、java.util にCircularLinkedListのような定義済みのクラスがありますか?
どんな助けでも本当に感謝します....
前もって感謝します :-)
LinkedList クラスのオブジェクトを循環リンク リストに変換する方法はありますか。
または、java.util にCircularLinkedListのような定義済みのクラスがありますか?
どんな助けでも本当に感謝します....
前もって感謝します :-)
いいえ、LinkedList は、末尾を先頭に接続できないようにカプセル化されています。デフォルトのコレクションのいずれかがそれをサポートしているとは思いません。なぜなら、イテレータがいつか最後に到達しなければならないというIterableの契約をもう満たしていないからです。
そのようなデータ構造が必要な場合は、自分で実装する必要があります。
Guava の Iterables.cycle メソッドを見てください。
public static <T> Iterable<T> cycle(Iterable<T> iterable)
イテレータが iterable の要素を無期限に循環する iterable を返します。
そのイテレータは remove() if iterable.iterator()
does をサポートします。remove() が呼び出された後、後続のサイクルは削除された要素を省略します。これはもはや iterable ではありません。iterator のhasNext()
メソッドは、 iterable が空になるまで true を返します。
ドキュメントを参照してください: http://guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/collect/Iterables.html#cycle%28java.lang.Iterable%29。