АрраиЛист обезбеђује константно време за операцију претраге, тако да је боље користити АрраиЛист ако је претрага чешћа операција него операција додавања и уклањања. ЛинкедЛист обезбеђује стално време за операције додавања и уклањања. Зато је боље користити ЛинкедЛист за манипулацију.
АрраиЛист има О(1) временску сложеност за приступ елементима преко метода гет и сет.
ЛинкедЛист има О(н/2) временску сложеност за приступ елементима.
ЛинкедЛинкед класа такође имплементира Декуе интерфејс, тако да можете добити функционалност двостраног реда у ЛинкедЛист-у. Класа АрраиЛист не имплементира Декуе интерфејс.
У сортирању, АрраиЛист је бољи за приступ подацима, док је ЛинкедЛист бољи за манипулисање подацима. Обе класе имплементирају интерфејс листе.
Пример АрраиЛист
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); } } }
Излаз:
Traversing ArrayList... ankit peter mayank
Пример линкедлисте
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); } }
Излаз:
After adding: [ankit, peter, mayank] After removing: [ankit, mayank] After changing: [ankit, vivek]