Originariamente inviato da Dreamer89
Salve. Vorrei sapere qual è la differenza tra queste 2 classi, dato che ho provato a modificare un programma e andava bene con entrambe o_O
Sono entrambe implementazioni "concrete" della interfaccia List. Solo che ArrayList è basata su un array, mentre LinkedList è basata su una lista linkata. Questo porta ad una differenza nella complessità (e quindi nelle "performance") delle varie operazioni. Il get() per ArrayList ha una complessità O(1) mentre per LinkedList è O(n). Con un array se chiedi l'elemento all'indice 10, lo ottieni subito, mentre con una lista linkata deve scansionare tutta la lista fino a quel punto!

Quindi una collezione non la si sceglie così "a caso" o solo notando che "funzionano" entrambe. Bisogna vedere cosa devi fare e come la devi utilizzare. Ci sono questioni di performance. Se poi non ti interessa nemmeno questo ... beh, ok, scegli quella che vuoi.