繁体   English   中英

JAVA中链表转为循环链表

[英]Converting Linked List to a Circular Linked List in JAVA

有什么方法可以将 LinkedList 类的对象转换为循环链表。

或者在 java.util 中是否有任何预定义的类,例如 CircularLinkedList 类似这样的东西(比如http://docs.oracle.com/javase/1.4.2/docs/api/java/util/LinkedList.html

任何帮助将非常感激....

提前致谢 :-)

不,LinkedList 的封装方式使其无法将其尾部连接到其头部。 我不认为任何默认集合都支持这一点,因为这样它就不会再履行Iterable的合同,这表明迭代器必须在某个时候结束。

当您需要这样的数据结构时,您必须自己实现它。

看看 Guava 的 Iterables.cycle 方法。

public static <T> Iterable<T> cycle(Iterable<T> iterable)

返回一个迭代器,它的迭代器在 iterable 的元素上无限循环。

如果iterable.iterator()支持,则该迭代器支持 remove()。 调用 remove() 后,后续循环会省略已删除的元素,该元素不再是可迭代的。 迭代器的hasNext()方法返回 true,直到 iterable 为空。

请参阅文档: http : //guava-libraries.googlecode.com/svn/trunk/javadoc/com/google/common/collect/Iterables.html#cycle%28java.lang.Iterable%29

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM