Se ho una variabile che contiene un List, potrebbe contenere oggetti di molti tipi diversi, ad esempio ArrayListo LinkedList. La differenza tra a LinkedListe an ArrayListè piuttosto grande. Il grande comportamento O dei metodi differisce notevolmente. Ad esempio, ordinare un Liste quindi usarlo per fare ricerche binarie è perfettamente ok per un ArrayListma non avrebbe senso con un LinkedList.