Koleksiyonlar veri depolamak için kullanışlıdır. Normal bir dizide, dizi boyutu sabittir. Bazen gerektiğinde büyüyebilen diziler oluşturmak gerekir. Java gibi programlama dillerinde koleksiyonlar vardır. Bir dizi sınıf ve arabirime sahip bir çerçevedir. Bir grup eleman için bir kap görevi görür. Koleksiyonlar, öğelerin saklanmasını, güncellenmesini ve geri alınmasını sağlar. Listeler, kümeler, ağaçlar ve haritalar gibi veri yapıları ile çalışmaya yardımcı olur. Liste, Koleksiyon çerçevesinin bir arayüzüdür. ArrayList ve LinkedList, koleksiyonlar çerçevesindeki iki sınıftır. Koleksiyon arayüzünü ve Liste arayüzünü uygularlar. Bu makalede ArrayList ve LinkedList arasındaki fark anlatılmaktadır. ArrayList, AbstractList'i genişleten ve dahili olarak veri öğelerini depolamak için dinamik bir dizi kullanan List arabirimini uygulayan bir sınıftır. LinkedList, AbstractSequentialList öğesini genişleten ve veri öğelerini depolamak için dahili olarak çift bağlantılı bir liste kullanan List, Deque ve Queue arabirimlerini uygulayan bir sınıftır. İşte temel fark ArrayList ve LinkedList arasında.
1. Genel Bakış ve Temel Fark
2. ArrayList nedir
3. LinkedList nedir
4. ArrayList ve LinkedList Arasındaki Benzerlikler
5. Yan Yana Karşılaştırma - ArrayList vs LinkedList Tabular Formunda
6. Özet
ArrayList sınıfı, dinamik diziler oluşturmak için kullanılır. Normal bir dizinin aksine, dinamik bir dizinin boyutu sabit değildir. ArrayList sınıfı kullanılarak oluşturulan bir nesnenin listede bir dizi öğeyi saklamasına izin verilir. Kapasite otomatik olarak artar, böylece programcı listeye eleman ekleyebilir. ArrayList sınıfı, Liste arabirimini uygulayan AbstractList sınıfını genişletir. Bu nedenle, List arabiriminin yöntemleri ArrayList tarafından kullanılabilir. Öğelere erişmek için get () yöntemi kullanılır. Listeye eleman eklemek için add () yöntemi kullanılabilir. Remove () yöntemi, öğeyi listeden çıkarmak için kullanılır. Aşağıdaki programa bakın.
Şekil 01: ArrayList Örneği
Yukarıdaki programa göre, ArrayList'in bir nesnesi oluşturulur. Add yöntemini kullanarak, öğeler dinamik olarak eklenebilir. “A”, ”B”, ”C”, ”D” ve “E” elemanları ekleme yöntemi kullanılarak eklenir. Remove yöntemi, bir öğeyi listeden kaldırmak için kullanılır. 4 silme yöntemine geçerken 4. indeksteki “E” harfi listeden çıkarılır. For döngüsünü kullanarak liste boyunca yineleme yapılırken A, B, C ve D harfleri yazdırılır.
ArrayList'e benzer şekilde LinkedList, veri öğelerini dinamik olarak depolamak için kullanılır. LinkedList sınıfı kullanılarak oluşturulan bir nesnenin bir grup öğeyi listede saklamasına izin verilir. Kapasite otomatik olarak artar, böylece programcı listeye eleman ekleyebilir. Dahili olarak veri depolamak için çift bağlantılı bir liste kullanır. Çift bağlantılı bir listede veriler düğüm olarak saklanır. Her düğüm iki bağlantı içerir. İlk bağlantı bir önceki düğümü gösterir. Sonraki bağlantı, dizideki bir sonraki düğüme işaret eder.
LinkedList sınıfı, AbstractSequentialList sınıfını genişletir ve List arabirimini uygular. Bu nedenle, List arabirimi yöntemleri LinkedList tarafından kullanılabilir. Listenin öğelerine erişmek için get () yöntemi kullanılabilir. Listeye eleman eklemek için add () yöntemi kullanılabilir. Remove () yöntemi, öğeyi listeden çıkarmak için kullanılır. Aşağıdaki programa bakın.
Şekil 02: LinkedList ile örnek
Yukarıdaki programa göre, LinkedList'in bir nesnesi oluşturulur. Add yöntemini kullanarak, öğeler dinamik olarak eklenebilir. “A”, ”B”, ”C”, ”D” ve “E” elemanları ekleme yöntemi kullanılarak eklenir. Remove yöntemi, bir öğeyi listeden kaldırmak için kullanılır. 4 yöntemini remove yöntemine aktarırken 4. dizindeki “E” harfi listeden çıkarılır. For döngüsü kullanılarak yineleme yapılırken A, B, C ve D harfleri yazdırılır.
ArrayList ve LinkedList karşılaştırması | |
ArrayList, AbstractList'i genişleten ve dahili olarak veri öğelerini depolamak için dinamik bir dizi kullanan List arabirimini uygulayan bir sınıftır. | LinkedList, AbstractSequentialList öğesini genişleten ve veri öğelerini depolamak için dahili olarak çift bağlantılı bir liste kullanan List, Deque, Queue arabirimlerini uygulayan bir sınıftır. |
Öğelere Erişim | |
ArrayList öğelerine erişmek, LinkedList öğesinden daha hızlıdır. | LinkedList öğelerine erişmek bir ArrayList öğesinden daha yavaştır. |
Elemanları Değiştirme | |
ArrayList öğelerini değiştirmek, LinkedList öğesinden daha yavaştır. | LinkedList öğelerinin işlenmesi bir ArrayList öğesinden daha hızlıdır. |
davranış | |
ArrayList bir Liste olarak çalışır. | LinkedList, Liste ve Kuyruk olarak çalışır. |
Koleksiyon çerçevesi, listeler, ağaçlar, haritalar ve kümeler gibi veri yapılarıyla çalışmaya olanak tanır. Liste, toplama çerçevesinin bir arayüzüdür. Bu makalede ArrayList ve LinkedList arasındaki fark tartışıldı. ArrayList, AbstractList'i genişleten ve dahili olarak veri öğelerini depolamak için dinamik bir dizi kullanan List arabirimini uygulayan bir sınıftır. LinkedList, AbstractSequentialList öğesini genişleten ve veri öğelerini depolamak için dahili olarak çift bağlantılı bir liste kullanan List, Deque, Queue arabirimlerini uygulayan bir sınıftır. ArrayList ve LinkedList arasındaki fark budur.
1. Bağlantılı Listeye Giriş | Veri Yapısı Eğitimi | Studytonight. Burada mevcut
2. “Java'da LinkedList - javatpoint.”, Nokta, Buradan erişilebilir
3. “Java ArrayList sınıfı - javatpoint.” Nokta, Burada bulunabilir