Связанные списки - это изменяемые последовательности, которые состоят из узлов, которые связаны со следующими указателями.
Они поддерживаются классом LinkedList.
В большинстве языков null
будет выбран как пустой связанный список. Это не работает для коллекций Scala, потому что
даже пустые последовательности должны поддерживать все методы последовательности. В частности, LinkedList.empty.isEmpty
должен возвращать true
и не вызывать исключение NullPointerException
. Пустые связанные списки кодируются вместо
этого особым образом: поле next
указывает на сам узел. Как и их непреложные родственники, связанные списки лучше
всего пересекаются последовательно. Кроме того, связанные списки позволяют легко вставлять элемент или связанный список
в другой связанный список.
Двойные связанные списки похожи на односвязные списки, за исключением того, что они имеют помимо next
другое
изменяемое поле prev
, которое указывает на элемент, предшествующий текущему узлу. Основное преимущество этой дополнительной
ссылки заключается в том, что она очень быстро удаляет элементы. Двойные связанные списки поддерживаются классом
DoubleLinkedList.
MutableList состоит из одного связанного
списка вместе с указателем, который ссылается на пустой узел этого списка. Это делает список добавлением операции с
постоянным временем, потому что это позволяет избежать прохождения списка в поисках его конечного узла.
MutableList в настоящее время является стандартной реализацией mutable.LinearSeq
в Scala.
Если этот проект окажется полезным тебе - нажми на кнопочку ★
в правом верхнем углу.