Class DoubleLinkedList


  • public class DoubleLinkedList
    extends Object
    This class defines a thread-safe double linked-list. The list is usable by any class that implements the com.forte.util.Linkable interface. This class allows a linkable object it be inserted or removed from anywhere in the list. RESTRICTION: An object can only be a member of 1 list at a time.
    • Field Detail

      • head

        public Linkable head
        Head of linked list.
      • tail

        public Linkable tail
        Tail of linked list.
      • size

        public int size
        Size of linked list.
    • Constructor Detail

      • DoubleLinkedList

        public DoubleLinkedList()
        Default constructor.
    • Method Detail

      • getHead

        public Linkable getHead()
        Return the object at the head of a linked list.
      • getTail

        public Linkable getTail()
        Return the object at the tail of a linked list.
      • getSize

        public int getSize()
        Return size of the linked list.
      • insertAtHead

        public void insertAtHead​(Linkable node)
        Insert an object at the head of a linked list.
      • insertAtTail

        public void insertAtTail​(Linkable node)
        Insert an object at the tail of a linked list.
      • removeFromHead

        public Linkable removeFromHead()
        Remove and return an object from the head of a linked list.
      • removeFromTail

        public Linkable removeFromTail()
        Remove and return an object from the tail of a linked list.
      • removeFromList

        public void removeFromList​(Linkable node)
        Remove the specified object from anywhere in the linked list. This method is usually used by the object to remove itself from the list.
      • insertIntoList

        public void insertIntoList​(Linkable afternode,
                                   Linkable newnode)
        Insert an object anywhere into the linked list.
        Parameters:
        afternode - the new node will be inserted after this node
        newnode - the new node to be inserted
      • toString

        public String toString()
        Return a string representation of this DoubleLinkedList object.

        Overrides:
        toString in class Object
        Returns:
        String representation of this object.