ArrayList biedt constante tijd voor zoekbewerkingen, dus het is beter om ArrayList te gebruiken als zoeken vaker voorkomt dan toevoegen en verwijderen. De LinkedList biedt constante tijd voor bewerkingen voor toevoegen en verwijderen. Het is dus beter om LinkedList te gebruiken voor manipulatie.
ArrayList heeft O(1) tijdcomplexiteit om toegang te krijgen tot elementen via de get- en set-methoden.
LinkedList heeft O(n/2) tijdcomplexiteit om toegang te krijgen tot de elementen.
De klasse LinkedLinked implementeert ook de Deque-interface, zodat u de functionaliteit van een dubbele wachtrij in LinkedList kunt krijgen. De klasse ArrayList implementeert de Deque-interface niet.
In feite is ArrayList beter om toegang te krijgen tot gegevens, terwijl LinkedList beter is om gegevens te manipuleren. Beide klassen implementeren de List-interface.
ArrayList-voorbeeld
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); } } }
Uitgang:
Traversing ArrayList... ankit peter mayank
LinkedList-voorbeeld
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); } }
Uitgang:
After adding: [ankit, peter, mayank] After removing: [ankit, mayank] After changing: [ankit, vivek]