An unprotected bi-directional linked list. Useful for implementing other collections or for managing custom nodes (links).
If you are looking for a protected and value focused linked list: github.com/tsdotnet/linked-list
tsdotnet.github.io/linked-node-list
This class is useful for managing a list of linked nodes, but it does not protect against modifying individual links. If the consumer modifies a link (sets the previous or next value) it will effectively break the collection.
It is possible to declare a node type of any kind as long as it contains a previous and next value that can reference another node. Although not as safe as a protected linked list, this class has less overhead and is more flexible.
The count (or length) of this LinkedNodeList
is tracked as .unsafeCount
and calling .getCount()
will iterate the list.
A perfect example of the use of LinkedNodeList
is with LinkedList
as it uses it for its internal collection.