logo

Kada naudoti „ArrayList“ ir „LinkedList“ programoje „Java“.

ArrayList suteikia pastovų laiką paieškos operacijai, todėl geriau naudoti ArrayList, jei paieška yra dažnesnė operacija nei įtraukimo ir pašalinimo operacija. „LinkedList“ suteikia nuolatinį laiko pridėjimo ir pašalinimo operacijoms. Taigi manipuliavimui geriau naudoti LinkedList.

„ArrayList“ turi O(1) laiko sudėtingumą, kad būtų galima pasiekti elementus naudojant gavimo ir nustatymo metodus.

„LinkedList“ turi O(n/2) laiko sudėtingumą elementams pasiekti.

„LinkedLinked“ klasė taip pat įgyvendina „Deque“ sąsają, todėl „LinkedList“ galite gauti dvipusės eilės funkcijas. „ArrayList“ klasė neįdiegia „Deque“ sąsajos.

„ArrayList“ geriau pasiekia duomenis, o „LinkedList“ yra geriau manipuliuoti duomenimis. Abi klasės įgyvendina sąrašo sąsają.

ArrayList pavyzdys

 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); } } } 

Išvestis:

 Traversing ArrayList... ankit peter mayank 

LinkedList pavyzdys

 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); } } 

Išvestis:

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