Tavsiye, 2024

Editörün Seçimi

Java'da List ile ArrayList Arasındaki Fark

List ve ArrayList, Koleksiyon çerçevesinin üyeleridir. Liste, her bir elemanın bir nesne olduğu ve elemanlara oradaki pozisyon (indeks) ile erişildiği bir sıradaki elemanlar topluluğudur. ArrayList, gerektiğinde boyut olarak artan veya küçülen dinamik bir nesne dizisi oluşturur. List ve ArrayList arasındaki temel fark, List'in bir arabirim ve ArrayList'in bir sınıf olmasıdır. Liste ve ArrayList arasındaki farkı aşağıda gösterilen karşılaştırma tablosunun yardımıyla inceleyelim.

Karşılaştırma Tablosu

Karşılaştırma için temelListeArrayList
TemelListe bir arayüzdürArrayList standart bir Koleksiyon Sınıfıdır.
Sözdizimiarayüz listesisınıf ArrayList
Uygulamak / uzatınListe arayüzü Koleksiyon Çerçevesini genişletir.ArrayList, AbstractList'i genişletir ve Liste Arabirimini uygular.
Ad alanıSystem.Collections.Generic.System.Collections.
İşDizin numaralarıyla ilişkili bir elemanlar listesi (nesneler) oluşturmak için kullanılır.ArrayList, nesneleri içeren dinamik bir dizi oluşturmak için kullanılır.

Listenin tanımı

Liste, Koleksiyon çerçevesini genişleten bir arayüzdür . Liste arayüzü sırayla düzenlenmiş elemanların toplanmasını açıklar. Liste arayüzü, ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack gibi aşağıdaki standart koleksiyon sınıfları tarafından uygulanır. Liste arayüzünde, indeks numaralarıyla ilişkili unsurlar bulunur. Listedeki bir öğeye listedeki konumuna (dizinine) erişebilirsiniz. Liste arayüzü kullanılarak oluşturulan liste, sıfır tabanlı bir indeksle başlar.

Koleksiyon çerçevesi tarafından miras alınan yöntemlere ek olarak, Liste arayüzü de kendi yöntemlerini tanımlamaktadır. Liste arayüzü tarafından eklenen yöntemler, add (int, E) ve addAll (int, Collection) 'dır . Bu yöntemler, dizinlerine göre listeye bir öğe ekler. Listedeki yöntemler, yöntem listeyi değiştiremiyorsa UnsupportedOperationException gibi bir istisna atabilir. Listedeki bir nesne listedeki başka bir nesneyle uyumlu değilse, ClassCastException atılır. Listede boş bir nesne eklemeye çalışırsanız, listede NullPointerException atılırsa boş öğelere izin verilmez.

Get () metodunu kullanarak listeden bir eleman elde edebilirsiniz. Bir öğenin değerini, set () yöntemini kullanarak listeden ayarlayabilirsiniz . Ayrıca bir alt listeyi () kullanarak alt listeyi listeden alabilirsiniz. Bir liste yerine alt listede çalışmak uygun olur.

ArrayList'un tanımı

Standart Koleksiyon sınıflarından biri, AbstractList sınıfını genişleten ve aynı zamanda Liste arayüzünü uygulayan ArrayList'tir. ArrayList sınıfı, gerektiğinde büyüyüp küçülen dinamik dizileri oluşturmak için kullanılır. ArrayList sınıfı kullanılarak oluşturulan liste, nesneler dizisinden başka bir şey değildir. Java'da standart dizinin sabit uzunluğu vardır, bu nedenle dizinin boyutunu önceden bilmeniz gerekir. Ancak, çalışma süresine kadar dizinin ne kadar uzununa ihtiyacınız olduğunu bilmiyor olabilirsiniz. Bu nedenle, Koleksiyon çerçevesi bu sorunun üstesinden gelmek için ArrayList sınıfını tanıttı.

ArrayList, intial kapasitesiyle diziyi oluşturan yapıcılara sahiptir. ArrayList sınıfı nesnesinin kapasitesi, diziye öğeler eklendiğinde otomatik olarak artarsa, hala sureCapacity () yöntemini kullanarak ArrayList nesnesinin kapasitesini el ile artırabilirsiniz. Belleği daha sonra yeniden yerleştirmek yerine, başlangıçta dizinin kapasitesini artırmak daha iyidir. Çünkü yeniden tahsisat, hafızanın bir kerede tahsis edilmesinden daha pahalıdır.

Liste ve Dizi Listesi arasındaki Temel Farklılıklar

  1. List ve ArrayList arasındaki en önemli farklılıklardan biri, listenin bir arabirim ve ArrayList'in standart bir Koleksiyon sınıfı olmasıdır .
  2. Liste arabirimi, Koleksiyon çerçevesini genişletirken, ArrayList AbstractList Sınıfını genişletir ve Liste arabirimlerini uygular.
  3. List arabiriminin ad alanı System.Collection.Generic, ArrayList ad alanı ise System.Collection'dır .
  4. Liste arayüzü, bir dizide saklanan ve dizin numaralarıyla tanımlanan veya erişilen bir öğeler koleksiyonu oluşturur. Öte yandan, ArrayList, gerektiğinde dizinin dinamik olarak büyüyebileceği bir dizi nesne yaratır.

Sonuç:

ArrayList, standart Java'da statik bir dizinin konusunu aşar; yani, oluşturulduktan sonra dizinin boyutu büyüyemez. ArrayList kullanılarak bir dizi oluşturulduğunda, gerektiğinde büyüyüp küçültülebilecek bir dinamik dizi oluşturulur. Standart Koleksiyon sınıfı ArrayList, Liste arayüzünü genişletir.

Top