ArrayList
🎯 1. ArrayList Nedir?
Section titled “🎯 1. ArrayList Nedir?”ArrayList, Java’nın dinamik diziler oluşturmak için sunduğu bir sınıftır.
Normal dizilerde (array) boyut sabittir; ancak ArrayList boyutunu otomatik olarak artırabilir veya azaltabilir.
📦 Paket:
java.util.ArrayList
🔹 2. ArrayList Oluşturma
Section titled “🔹 2. ArrayList Oluşturma”import java.util.ArrayList;
ArrayList<String> isimler = new ArrayList<String>();Java 7 ve sonrası için “Diamond Operator” kullanılabilir:
ArrayList<String> isimler = new ArrayList<>();🔹 3. Eleman Ekleme (add())
Section titled “🔹 3. Eleman Ekleme (add())”isimler.add("Ali");isimler.add("Ayşe");isimler.add("Mehmet");
System.out.println(isimler); // [Ali, Ayşe, Mehmet]🔹 4. Elemanlara Erişim
Section titled “🔹 4. Elemanlara Erişim”System.out.println(isimler.get(0)); // AliSystem.out.println(isimler.get(2)); // Mehmet⚠️
get()metodu indeks dışı bir değer alırsaIndexOutOfBoundsExceptionhatası verir.
🔹 5. Eleman Güncelleme (set())
Section titled “🔹 5. Eleman Güncelleme (set())”isimler.set(1, "Zeynep");System.out.println(isimler); // [Ali, Zeynep, Mehmet]🔹 6. Eleman Silme (remove())
Section titled “🔹 6. Eleman Silme (remove())”isimler.remove("Ali"); // Değer ile silmeisimler.remove(1); // İndeks ile silme
System.out.println(isimler);🔹 7. ArrayList Boyutu (size())
Section titled “🔹 7. ArrayList Boyutu (size())”System.out.println("Toplam eleman: " + isimler.size());🔹 8. Tüm Elemanları Temizleme (clear())
Section titled “🔹 8. Tüm Elemanları Temizleme (clear())”isimler.clear();System.out.println(isimler.isEmpty()); // true🔹 9. İçerik Kontrolü (contains())
Section titled “🔹 9. İçerik Kontrolü (contains())”ArrayList<String> sehirler = new ArrayList<>();sehirler.add("Ankara");sehirler.add("İstanbul");
System.out.println(sehirler.contains("Ankara")); // trueSystem.out.println(sehirler.contains("İzmir")); // false🔹 10. Döngü ile Gezme
Section titled “🔹 10. Döngü ile Gezme”🔸 for döngüsü
Section titled “🔸 for döngüsü”for (int i = 0; i < isimler.size(); i++) { System.out.println(isimler.get(i));}🔸 for-each döngüsü
Section titled “🔸 for-each döngüsü”for (String isim : isimler) { System.out.println(isim);}🔸 lambda (Java 8+)
Section titled “🔸 lambda (Java 8+)”isimler.forEach(isim -> System.out.println(isim));🔹 11. ArrayList Türleri
Section titled “🔹 11. ArrayList Türleri”ArrayList<Integer> sayilar = new ArrayList<>();sayilar.add(10);sayilar.add(20);
ArrayList<Double> oranlar = new ArrayList<>();ArrayList<Boolean> durumlar = new ArrayList<>();💡 Java’da
ArrayListsadece nesne tipleri ile çalışır.
İlkel türler (int,double,boolean) yerine wrapper sınıfları (Integer,Double,Boolean) kullanılmalıdır.
🔹 12. ArrayList’i Sıralama
Section titled “🔹 12. ArrayList’i Sıralama”import java.util.ArrayList;import java.util.Collections;
ArrayList<Integer> sayilar = new ArrayList<>();sayilar.add(30);sayilar.add(10);sayilar.add(20);
Collections.sort(sayilar);System.out.println(sayilar); // [10, 20, 30]🔹 13. ArrayList’i Tersine Çevirme
Section titled “🔹 13. ArrayList’i Tersine Çevirme”Collections.reverse(sayilar);System.out.println(sayilar); // [30, 20, 10]🔹 14. ArrayList Kopyalama
Section titled “🔹 14. ArrayList Kopyalama”ArrayList<String> liste1 = new ArrayList<>();liste1.add("Java");liste1.add("Python");
ArrayList<String> liste2 = new ArrayList<>(liste1);System.out.println(liste2); // [Java, Python]🔹 15. İki Listeyi Birleştirme (addAll())
Section titled “🔹 15. İki Listeyi Birleştirme (addAll())”ArrayList<String> a = new ArrayList<>();a.add("Elma");a.add("Armut");
ArrayList<String> b = new ArrayList<>();b.add("Üzüm");b.add("Kivi");
a.addAll(b);System.out.println(a); // [Elma, Armut, Üzüm, Kivi]🧩 16. Örnek: En Uzun İsmi Bulma
Section titled “🧩 16. Örnek: En Uzun İsmi Bulma”ArrayList<String> isimler = new ArrayList<>();isimler.add("Ali");isimler.add("Mehmet");isimler.add("Zeynep");
String enUzun = isimler.get(0);
for (String isim : isimler) { if (isim.length() > enUzun.length()) { enUzun = isim; }}
System.out.println("En uzun isim: " + enUzun);🏁 Özet
Section titled “🏁 Özet”| Metot | Açıklama |
|---|---|
add() | Yeni eleman ekler |
get(index) | Elemanı döndürür |
set(index, value) | Elemanı değiştirir |
remove() | Eleman siler |
size() | Eleman sayısını döner |
clear() | Tüm elemanları siler |
contains() | Eleman var mı kontrol eder |
addAll() | Başka bir liste ekler |
Collections.sort() | Sıralama yapar |
💡 Not:
ArrayList, dinamik yapısı sayesinde modern Java uygulamalarında sıkça tercih edilir.
Ancak eş zamanlı (multi-thread) işlemler içinVectorveyaCopyOnWriteArrayListtercih edilmelidir.