Package dsa.lab02.solutions
Class DoublyLinkedList<Item>
java.lang.Object
dsa.lab02.solutions.DoublyLinkedList<Item>
- Type Parameters:
Item- the item type
- All Implemented Interfaces:
Container<Item>,DynamicSequence<Item>,LinkedList<Item>,StaticSequence<Item>,Iterable<Item>
A doubly-linked list.
Nodes are directly-linked to both their predecessors and successors. Holds references to both the first and last nodes (if non-empty).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA node in a doubly-linked list.Nested classes/interfaces inherited from interface dsa.lab02.base.LinkedList
LinkedList.ForwardNodeIterator<Item>, LinkedList.NodeIterator<Item>, LinkedList.ReverseNodeIterator<Item>Nested classes/interfaces inherited from interface dsa.lab02.base.StaticSequence
StaticSequence.ForwardIterator<Item>, StaticSequence.ReverseIterator<Item> -
Constructor Summary
ConstructorsConstructorDescriptionConstruct an empty doubly-linked list.DoublyLinkedList(Item... items) Construct a doubly-linked list containing the given items.DoublyLinkedList(Iterable<Item> items) Construct a doubly-linked list containing the given items. -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dsa.lab02.base.DynamicSequence
insertFirst, insertLast, removeFirst, removeLastMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface dsa.lab02.base.LinkedList
firstNode, get, items, lastNode, nodes, reversed, reversedNodes, set
-
Constructor Details
-
DoublyLinkedList
public DoublyLinkedList()Construct an empty doubly-linked list. -
DoublyLinkedList
Construct a doubly-linked list containing the given items.- Parameters:
items- the items
-
DoublyLinkedList
Construct a doubly-linked list containing the given items.- Parameters:
items- the items
-
-
Method Details
-
size
public int size()Description copied from interface:ContainerGet the number of contained items. -
node
Description copied from interface:LinkedListGet the node at the given index.- Specified by:
nodein interfaceLinkedList<Item>- Parameters:
index- the index- Returns:
- the node that is at that index
- Throws:
IndexOutOfBoundsException- ifindex< 0 orindex>=n(wherenis the size)
-
insert
Description copied from interface:DynamicSequenceInsert the given item at the given index.Increments the size, as well as the indices of all items that had the same index or higher.
- Specified by:
insertin interfaceDynamicSequence<Item>- Parameters:
index- the indexitem- the new item- Throws:
IndexOutOfBoundsException- ifindex< 0 orindex>n(wherenis the size)
-
remove
Description copied from interface:DynamicSequenceRemove and return the item at the given index.Decrements the size, as well as the indices of all items that had the same index or higher.
- Specified by:
removein interfaceDynamicSequence<Item>- Parameters:
index- the index- Returns:
- the item that was at that index
- Throws:
IndexOutOfBoundsException- ifindex< 0 orindex>=n(wherenis the size)
-