CodeBlanks Logo Icon CodeBlanks

ArrayList

ArrayList ile dinamik dizi öğrenirsin.

Dinamik dizi: ArrayList

Sabit uzunluklu int[] yerine uzunluğu otomatik büyüyen bir liste istiyorsan ArrayList kullanırısın. java.util.ArrayList sınıfı, eleman ekledikçe kendi kendine genişler.

ArrayList<String> names = new ArrayList<>();
names.add("Ayşe");
names.add("Mehmet");
// [Ayşe, Mehmet]

Tür köşeli parantez içinde verilir: ArrayList<String>. Bu, yalnızca String ekleyebileceğini garanti eder. İlkel türlerin yerine sarmalayıcı (wrapper) sınıflar kullanılır: Integer, Double, Boolean.

ArrayList neden pratik?

Sabit uzunluklu dizilerde eleman eklemek için yeni dizi oluşturup eskiyi kopyalaman gerekir. ArrayList bunu senin yerine yapar; add, remove, size gibi hazır metotlar sunar.

ArrayList<Integer> nums = new ArrayList<>();
nums.add(10);
nums.add(20);
int first = nums.get(0);
// first = 10

Listeyi yazdırmak için System.out.println(nums) yeter; toString metodu otomatik çağrılır ve köşeli parantezli bir çıktı üretir.

Uygulama Müşteri listesi kur

Bir ArrayList<String> oluştur, içine "Ayşe", "Mehmet" ve "Zeynep" ekle, sonra listeyi yazdır.

Başlangıç kodu

Main.java
import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    // ArrayList<String> oluştur
    // Üç isim ekle
    // Listeyi yazdır
  }
}

Örnek çözüm

Main.java
ArrayList<String> names = new ArrayList<>();
names.add("Ayşe");
names.add("Mehmet");
names.add("Zeynep");
System.out.println(names);

Beklenen çıktı

[Ayşe, Mehmet, Zeynep]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Boşluğu doldur: liste tanımla

Soru
ArrayList<String> names = new ArrayList____();
Cevap
ArrayList<String> names = new ArrayList<>();

Açıklama: Elmas operatör <> türü sağ taraftan çıkarır.

2 Metot ve işlevi eşleştir

Kavram Anlamı
add(x) Listeye eleman ekler
get(i) İ indeksteki elemanı döner
size() Eleman sayısını döner
remove(i) İ indeksteki elemanı siler

3 İlkel int değerini ArrayList'e eklemek için ne gerekir?

  • Önce int[] dizisine çevirmek
  • Integer sarmalayıcısını kullanmak Doğru cevap
  • ArrayList<int> yazmak
  • Listeyi static yapmak

Açıklama: Generics ilkel tür kabul etmez; Integer kullanılır.

Başlangıç bölümündeki tüm dersler