logo

Java'da ArrayList ve LinkedList ne zaman kullanılır?

ArrayList, arama işlemi için sabit süre sağlar; bu nedenle, arama, ekleme ve kaldırma işleminden daha sık bir işlemse ArrayList'i kullanmak daha iyidir. LinkedList, ekleme ve kaldırma işlemleri için sabit süre sağlar. Bu nedenle manipülasyon için LinkedList'i kullanmak daha iyidir.

ArrayList, get ve set yöntemleri aracılığıyla öğelere erişmek için O(1) zaman karmaşıklığına sahiptir.

LinkedList'in öğelere erişim için O(n/2) zaman karmaşıklığı vardır.

LinkedLinked sınıfı aynı zamanda Deque arayüzünü de uygular, böylece LinkedList'te çift uçlu kuyruğun işlevselliğini elde edebilirsiniz. ArrayList sınıfı Deque arayüzünü uygulamaz.

Sırasıyla, ArrayList verilere erişmek için daha iyidir, LinkedList ise verileri işlemek için daha iyidir. Her iki sınıf da Liste arayüzünü uygular.

ArrayList Örneği

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

Çıktı:

 Traversing ArrayList... ankit peter mayank 

Bağlantılı Liste Örneği

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

Çıktı:

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