【发布时间】:2020-07-25 13:43:28
【问题描述】:
我非常了解 SLL 或 DLL 的概念。 但是我们在 Collection 界面中使用的是哪一个呢?
到目前为止,我在接口List、Queue和Dequeue中都遇到过LinkedList。
还有别的吗?我们在这 3 个接口中使用的是什么类型的 LinkedList? 我怎么可能知道呢?
【问题讨论】:
-
需要注意的是Java的原生链表存在一些问题。没有等效的 C++ std::list::splice,它可用于通过更改节点指针来移动列表中的节点或从一个列表移动到另一个列表,而无需对节点进行任何分配或释放。 Java 的迭代器不能被浅拷贝,赋值只是将另一个变量指向同一个迭代器实例。从列表中添加或删除任何节点将使该列表的所有迭代器无效(用于执行添加或删除的迭代器除外)。
标签: java collections linked-list singly-linked-list doubly-linked-list