Skip to main content

☕ Java'da List (Liste) Veri Yapısı Nasıl Kullanılır? (ArrayList Rehberi)

Java’da List arayüzü, birden fazla elemanı sıralı biçimde saklamanızı sağlar.
Dizilerle benzer şekilde çalışsa da ArrayList gibi uygulamaları sayesinde çok daha esnektir ve dinamik olarak büyüyüp küçülebilir.


🧠 Teknik Özet

Ana konu: Java List veri yapısı (özellikle ArrayList).
Çözüm sunduğu problem: Boyutu dinamik olarak değişen, indeks tabanlı koleksiyon yönetimi.
Adımlar:

  1. Liste oluşturma
  2. Eleman ekleme, değiştirme, silme
  3. Faydalı metotlarla sorgulama (equals, contains, indexOf, toString)
  4. Pratik örneklerle liste işlemlerini öğrenme

🔍 List Türleri ve Kullanım Alanları

List, java.util paketinde yer alır ve farklı uygulamaları vardır:

TürÖzellikKullanım Durumu
ArrayListHızlı, hafif, dinamik boyutluGenel kullanım (rehberde bu anlatılıyor)
LinkedListEkleme ve silmede hızlıSık güncelleme yapılan listeler
VectorThread-safe (çoklu iş parçacığı güvenliği)Senkronize işlemler için

💡 İpucu: Tek iş parçacıklı (single-thread) projelerde ArrayList, performans açısından genellikle en doğru seçimdir.


⚙️ 1. Liste Oluşturma

// String türünde bir ArrayList oluşturur.
List<String> evcilHayvanlar = new ArrayList<>();

Çıktı: evcilHayvanlar ==> []

Java listeleri yalnızca nesneleri depolar. Primitive tipler (int, boolean vb.) doğrudan eklenemez — Integer, Boolean gibi wrapper sınıflar kullanılmalıdır.


➕ 2. Eleman Ekleme ve Güncelleme

Eleman Ekleme


// Listenin sonuna "Köpek" ekler.
evcilHayvanlar.add("Köpek");

Belirli bir indekse eleman eklemek için:


// "Kedi" elemanını 0. indekse (listenin başına) ekler.
evcilHayvanlar.add(0, "Kedi");

Sonuç: [Kedi, Köpek]

Eleman Güncelleme


// 0. indeksteki değeri "Kuş" ile değiştirir.
evcilHayvanlar.set(0, "Kuş");

Liste artık: [Kuş, Köpek]


🗑️ 3. Eleman Silme


// "Köpek" değerini siler.
evcilHayvanlar.remove("Köpek");
// Çıktı: true

Listeyi tamamen boşaltmak için:


evcilHayvanlar.clear();

Liste boş hale gelir: []


🧩 4. Faydalı List Metotları

MetotAçıklamaÖrnek
add()Eleman eklerevcilHayvanlar.add("Kuş")
set()Belirli indeksteki elemanı değiştirirevcilHayvanlar.set(1, "Tavşan")
remove()Eleman silerevcilHayvanlar.remove("Kedi")
clear()Listeyi temizlerevcilHayvanlar.clear()
size()Eleman sayısını döndürürint n = evcilHayvanlar.size()
isEmpty()Liste boş mu kontrol ederevcilHayvanlar.isEmpty()

🔎 5. Listeyi Sorgulama

Eşitlik Karşılaştırması (equals)


List<String> liste1 = Arrays.asList("Kedi", "Köpek");
List<String> liste2 = Arrays.asList("Kedi", "Köpek");
liste1.equals(liste2); // true

Eleman İçeriyor mu? (contains)


evcilHayvanlar.contains("Tavşan"); // true

İndeks Bulma (indexOf)


evcilHayvanlar.indexOf("Kedi"); // 1

Listeyi Metin Formatına Dönüştürme (toString)


System.out.println(evcilHayvanlar.toString());
// Çıktı: [Tavşan, Kedi]

🔁 6. forEach Metodu ile Listeyi Dolaşma


// Listedeki tüm elemanları sırayla yazdırır.
evcilHayvanlar.forEach(x -> System.out.println(x));

Çıktı: Tavşan Kedi

Bu yöntem, klasik döngülere göre daha kısa ve okunaklıdır. Ayrıca Consumer arayüzü ile uyumlu çalışır.


❓ Sıkça Sorulan Sorular (SSS)

  1. Neden List, dizilere göre daha avantajlıdır?

Çünkü boyutu dinamik olarak değişebilir, eleman ekleme/çıkarma kolaydır.

  1. List'ler neden primitive tipleri tutamaz?

Yalnızca nesneleri saklarlar. int yerine Integer, char yerine Character kullanılmalıdır.

  1. ArrayList ve LinkedList farkı nedir?

ArrayList erişim için hızlıdır, LinkedList ise sık ekleme/silme işlemlerinde verimlidir.

  1. Vector neden tercih edilmez?

Senkronizasyon nedeniyle her işlemde performans kaybı yaratır.

  1. List boş mu kontrol etmek için ne yapılır?

isEmpty() metodu kullanılabilir.


🏁 Sonuç

Bu rehberde Java’da ArrayList kullanarak liste oluşturmayı, eleman eklemeyi, güncellemeyi, silmeyi ve sorgulamayı öğrendin. List yapısı, modern Java projelerinde veri yönetiminin en esnek ve güçlü araçlarından biridir.