ArrayList nodrošina pastāvīgu laiku meklēšanas darbībai, tāpēc labāk ir izmantot ArrayList, ja meklēšana ir biežāka darbība, nevis pievienošanas un noņemšanas darbība. LinkedList nodrošina pastāvīgu laiku pievienošanas un noņemšanas darbībām. Tāpēc manipulācijām labāk izmantot LinkedList.
ArrayList ir O(1) laika sarežģītība, lai piekļūtu elementiem, izmantojot iegūšanas un iestatīšanas metodes.
LinkedList ir O(n/2) laika sarežģītība, lai piekļūtu elementiem.
LinkedLinked klase ievieš arī Deque interfeisu, lai jūs varētu iegūt divpusējas rindas funkcionalitāti pakalpojumā LinkedList. ArrayList klase neievieš Deque interfeisu.
ArrayList ir labāk piekļūt datiem, savukārt LinkedList ir labāk manipulēt ar datiem. Abas klases ievieš List interfeisu.
ArrayList piemērs
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); } } }
Izvade:
Traversing ArrayList... ankit peter mayank
LinkedList piemērs
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); } }
Izvade:
After adding: [ankit, peter, mayank] After removing: [ankit, mayank] After changing: [ankit, vivek]