Если у меня есть переменная, содержащая a, Listона может содержать объекты разных типов, например, ArrayListили LinkedList. Разница между а LinkedListи ArrayListдовольно большая. Поведение больших О методов сильно отличается. Например, сортировка Listи последующее использование его для выполнения бинарного поиска вполне подходит для, ArrayListно не имеет смысла для a LinkedList.