logo

Када користити АрраиЛист и ЛинкедЛист у Јави

АрраиЛист обезбеђује константно време за операцију претраге, тако да је боље користити АрраиЛист ако је претрага чешћа операција него операција додавања и уклањања. ЛинкедЛист обезбеђује стално време за операције додавања и уклањања. Зато је боље користити ЛинкедЛист за манипулацију.

АрраиЛист има О(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]