Determine the worst-case and best-case asymptotic time costs for the following operations on both an ArrayList and a DoublyLinkedList: addToFront(o), addToBack(o), removeFront(), removeBack(), contains(o), get(i)