Anotasyon

Java ArrayList Nedir

Merhaba arkadaşlar,
mobilhanem.com üzerinden anlattığımız/yayınladığımız derslerimize, Java Nesne Yönelimli Programlama Dersleri serisi altında ArrayList Nedir konusu ile devam ediyoruz.

ArrayList Nedir ?

ArrayList, Collections Framework’unun bir parçasıdır ve java.util paketinde bulunur.

Java ArrayList sınıfı öğeleri depolamak için dinamik bir dizi kullanır. Normal bir dizi gibidir fakat boyut sınırı yoktur. İstenildiği zaman öğe eklenir veya öğe silinebilir. Bu sayede  esnek bir yapıya sahip olduğunu görüyoruz. Aşağıda ki görselde  de detaylı sınıf kurucularını görebilir ve fikir edinebilirsiniz.

ArrayList Yapısı

Java Array List ile ilgili önemli noktalar şunlardır;

  • ArrayList sınıfı, birbirini tekrar eden ve boş değerleri içerebilir,
  • ArrayList sınıfı, sıralı bir koleksiyondur ekleme sırasını korur,
  • ArrayList sınıfı, senkronize bir yapıya sahip değildir. Birden fazla iş bloklarını aynı anda değiştiremez,
  • ArrayList’in yavaş kalma sebeplerinden biri ise dizi listesinden her hangi bir öğe silindiğinde çok fazla kaydırma işlemi yapılması gerekebilir.(ArrayList listesine erişim işlemi O(1), araya ekleme(insertion) işlemi O(n) ve silme (diletion) işlemi O(n) zaman karmaşasına sahiptir.)

  • ArrayList, öğeleri depolamak için dahili olarak bir dizi kullanır. Tıpkı diziler gibi, elemanları indekslerine göre almamızı sağlar.
  • int,char, double vb. gibi ilkel türlerden ArrayList oluşturamayız.

ArrayList Oluşturma ve Eleman Ekleme

ArrayList sınıfını kullanabilmemiz için ilgili kütüphaneleri kullandığınız ide’nin kısa yolu ile veya direkt olarak ekleyebilirsiniz. Bu örneğimizde String değerler içeren bir sınıf oluşturacağız ( List<String> animals = new ArrayList<>();) ardından elemanları ekleyerek ekrana yazdıracağız.

Output:

Başka bir koleksiyondan ArrayList  Oluşturma

Burada ArrayList (Collection c) kullanılarak başka bir koleksiyondan yeni ArrayList nasıl oluşturulur,  oluşturulurken addAll() kullanımı ile tüm öğeler yeni ArrayList’e nasıl eklenir bunları da görmüş olacağız.

firstFivePrimeNumbers isimli bir arrayList oluşturulmuş içerisine asal sayılar eklenmiştir. Ardından List<Integer> firstTenPrimeNumbers = new ArrayList<>(firstFivePrimeNumbers); kullanarak başka bir collection dan nasıl arrayList oluşturulacağı gösterilmiştir.  Sonrasında tekrar bir arrayList oluşturulup elemanlar eklenmiştir. Son olarak da bir arrayList’e collection’ın tamamının nasıl ekleneceği gösterilmiş (firstTenPrimeNumbers.addAll(nextFivePrimeNumbers);) ve ekrana arrayList’in son hali yazdırılmıştır.

Output:

ArrayList içerisinde bulunan elemanlara erişme

Bu başlık altında yapacağımız örnekte aşağıda yer alan maddeleri öğreneceğiz.

  • isEmpty() kullanılarak ArrayList’in boş olup olmadığını nasıl kontrol edilir,
  • size() kullanılarak ArrayList’in boyutu nasıl öğrenilir,
  • get() kullanılarak ArrayList’de bulunan öğeye nasıl erişilir,
  • set() kullanlarak ArrayList’de bulunan öğe nasıl güncellenir.

Output:

ArrayList içerisinde bulunan öğeyi silme

Bu başlık altında yapacağımız örnekte aşağıda yer alan maddeleri öğreneceğiz.

  • remove(int index), bir arrayList içerisinde belirli bir indeksdeki elemanı silme,
  • remove(Object o), bir arrayList içerisinde bir eleman nasıl silinir,
  • removeAll(), bir arrayList içerisinde ki her şey nasıl silinir,
  • clear(), bir arrayList nasıl temizlenir.

Output:

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı Mobilhanem Soru&Cevap bölümünden sorabilirsiniz. Bir sonraki dersimizde ArrayList ‘ de arama, iterator gibi eksik kalan konulara devam edeceğiz.

Tüm Java Dersleri için tıklayınız..

Kaynaklar :

  1. https://www.baskent.edu.tr/~tkaracay/etudio/ders/prg/dataStructures/Collections/ClassArrayList01.pdf
  2. https://medium.com/@denizf.b/java-collections-arraylist-nedir-7519bc1b7654
  3. https://medium.com/gokhanyavas/javada-generics-43546e77bd8f
  4. https://www.geeksforgeeks.org/arraylist-in-java/
  5. https://beginnersbook.com/2013/12/java-arraylist/
  6. https://www.programiz.com/java-programming/arraylist

Ayrıca örnekleri https://onecompiler.com/ adresinden deneyebilirsiniz.

17

Sevde Aybüke Kaleli

Fırat Üniversitesi-Yazılım Mühendisliği (2015-2019)

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?