我正在查看using一个DoubleLinkedList。它的remove()方法说“从双链表中删除当前节点。”但页面中没有其他对当前的引用。
当前节点是什么,如何设置它,当然这不是删除项目的唯一方法?
答案 0 :(得分:16)
DoubleLinkedList
同时是列表本身和列表节点,类似于常规::
的{{1}}。您可以分别使用List
和next
从一个单元格导航到下一个单元格,也可以导航到上一个单元格,并使用prev
获取单元格的值。
elem
如果删除第一个单元格,请小心,因为您需要将保存列表的var重新分配给下一个单元格:
scala> val list = collection.mutable.DoubleLinkedList(1,2,3,4,5)
list: scala.collection.mutable.DoubleLinkedList[Int] = DoubleLinkedList(1, 2, 3, 4, 5)
scala> list.next.next.remove() // list.next.next points on 3rd cell
scala> list
res0: scala.collection.mutable.DoubleLinkedList[Int] = DoubleLinkedList(1, 2, 4, 5)