【发布时间】:2014-06-17 21:10:10
【问题描述】:
有没有快速删除的方法 链表中的 null 元素?
我知道的唯一方法是迭代 元素并删除空元素。
我看不出多线程有什么帮助——链表不能直接访问它的成员。
////////////////////////////
编辑:我能想到的一个是将元素放入一个集合中,然后再次放回列表中。这不会保留订单,但是会在其他情况下工作(?)
【问题讨论】:
-
嗯,多线程可以提供帮助——两个线程从两端向中间移动。不过不太清楚这将如何实现。
-
我不知道有哪一种,我也想不出它会如何工作。链接列表用于顺序访问,而不是随机访问,所以我相信您只需遍历所有项目。
-
从技术上讲,遍历或编辑链表的唯一方法是迭代。这就是链表的定义。此外,如果您在链接列表中有空元素,从技术上讲,您将拥有一个损坏的列表。
-
@Humdinger 为什么链表中的
null元素会破坏它?null元素在 Java 的实现中是完全合法的。这是否意味着 Java 的实现被破坏了? -
@user3582094 这是一种边缘情况,多线程最多只能帮助 2 个线程。
标签: java list data-structures linked-list