In Java Collection Framework, ArrayList and LinkedList classes are both implementations of the interface List. Give an example of a situation where an array list would be the better choice and one where a linked list would. Explain the reasons in each case.