logo

Quan utilitzar ArrayList i LinkedList a Java

ArrayList proporciona un temps constant per a l'operació de cerca, de manera que és millor utilitzar ArrayList si la cerca és una operació més freqüent que l'operació d'afegir i eliminar. La LinkedList proporciona un temps constant per afegir i eliminar operacions. Per tant, és millor utilitzar LinkedList per a la manipulació.

ArrayList té una complexitat temporal O(1) per accedir als elements mitjançant els mètodes get i set.

LinkedList té una complexitat temporal O(n/2) per accedir als elements.

La classe LinkedLinked també implementa la interfície Deque, de manera que podeu obtenir la funcionalitat de la cua de doble extrem a LinkedList. La classe ArrayList no implementa la interfície Deque.

Per cert, ArrayList és millor per accedir a les dades, mentre que LinkedList és millor per manipular dades. Ambdues classes implementen la interfície de llista.

Exemple de ArrayList

 import java.util.*; public class ListExample { public static void main(String[] args) { //ArrayList is better to store and view data List list=new ArrayList(); list.add('ankit'); list.add('peter'); list.add('mayank'); System.out.println('Traversing ArrayList...'); for(String s:list){ System.out.println(s); } } } 

Sortida:

 Traversing ArrayList... ankit peter mayank 

Exemple de LinkedList

 import java.util.*; public class ListExample2 { public static void main(String[] args) { //LinkedList is better to manipulate data List list=new LinkedList(); list.add('ankit'); list.add('peter'); list.add('mayank'); System.out.println('After adding: '+list); list.remove('peter'); System.out.println('After removing: '+list); list.set(1,'vivek'); System.out.println('After changing: '+list); } } 

Sortida:

 After adding: [ankit, peter, mayank] After removing: [ankit, mayank] After changing: [ankit, vivek]