Якщо у мене є змінна, що містить, Listвона може містити об'єкти безлічі різних типів, наприклад, ArrayListабо LinkedList. Різниця між a LinkedListі an ArrayListдосить велика. Велика поведінка методів O значно відрізняється. Наприклад, сортування, Listа потім його використання для здійснення двійкових пошуків - це цілком нормально, ArrayListале це не має сенсу для LinkedList.