Java'da List ile ArrayList Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 2 Nisan 2021
Güncelleme Tarihi: 17 Mayıs Ayı 2024
Anonim
Java'da List ile ArrayList Arasındaki Fark - Teknoloji
Java'da List ile ArrayList Arasındaki Fark - Teknoloji

İçerik


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 şudur: Liste bir arayüz ve ArrayList bir sınıftır. Liste ile ArrayList arasındaki farkı aşağıda gösterilen karşılaştırma tablosunun yardımıyla inceleyelim.

  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

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
Extend / UygulamakListe 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 bir arayüz hangi genişletir Toplamak çerçeve. Liste arayüzü sırayla düzenlenmiş elemanların toplanmasını açıklar. Liste arayüzü, aşağıdaki standart koleksiyon sınıfları tarafından uygulanır. ArrayList, LinkedList, CopyOnWriteArrayList, Vektör, Yığın. Liste arayüzünde indeks numaralarıyla ilişkilendirilmiş elemanlar bulunur. Listedeki bir öğeye listedeki konumuna (dizinine) erişebilirsiniz. Liste arayüzü kullanılarak oluşturulan liste, sıfır tabanlı bir dizinle 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, ekle (int, E) ve addAll (int, Koleksiyon). Bu yöntemler, dizinlerine göre listeye bir öğe ekler. Listedeki yöntemler gibi bir istisna olabilir UnsupportedOperationException yöntem listeyi değiştiremiyorsa. Listedeki bir nesne listedeki başka bir nesneyle uyumlu değilse, ClassCastException Atılır. Listeye boş bir nesne eklemeye çalışırsanız, listedeki boş öğelere izin verilmez. NullPointerException Atıldı.


Kullanarak listeden bir öğe alabilirsiniz. almak() yöntem. Öğesini kullanarak listedeki bir öğenin değerini ayarlayabilirsiniz. Ayarlamak() yöntem. Ayrıca bir listeyi kullanarak alt listeyi listeden alabilirsiniz. alt liste (). Bir liste yerine alt listede çalışmak uygun olur.

ArrayList'un tanımı

Standart Koleksiyon sınıflarından biri olan ArrayList AbstractList sınıf ve ayrıca uygular Liste arayüz. 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 artarken, yöntemi kullanarak ArrayList nesnesinin kapasitesini el ile artırabilirsiniz. ensureCapacity (). 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.

  1. List ile ArrayList arasındaki en önemli farklılıklardan biri, listenin bir arayüz ve ArrayList standart bir Koleksiyon sınıf.
  2. Liste arayüzü genişletir Toplamak ArrayList ise, AbstractList Sınıf ve uygular Liste arabirimleri.
  3. Liste arabiriminin ad alanı System.Collection.Generic oysa, ArrayList'in ad alanı System.Collection.
  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 dizi sorununun üstesinden gelir; 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.