the list but such sequence of link hopping operations could take long time doubly linked lists as we saw in the previous sectionremoving an element at the tail of singly linked list is not easy indeedit is time consuming to remove any node other than the head in singly linked listsince we do not have quick way of accessing the node in front of the one we want to remove indeedthere are many applications where we do not have quick access to such predecessor node for such applicationsit would be nice to have way of going both directions in linked list there is type of linked list that allows us to go in both directions--forward and reverse--in linked list it is the doubly linked list such lists allow for great variety of quick update operationsincluding insertion and removal at both endsand in the middle node in doubly linked list stores two references-- next linkwhich points to the next node in the listand prev linkwhich points to the previous node in the list java implementation of node of doubly linked list is shown in code fragment where we assume that elements are character strings in we discuss how to define nodes for arbitrary element types code fragment java class dnode representing node of doubly linked list that stores character string