İçeriğe geç

Java Collections Framework: List, Map, Set ve Generics

20.04.2024 3,405 okunma

Java Koleksiyonları Neden Önemli?

Dizi (array) yetersiz kaldığında Java Collections Framework devreye girer. Dinamik boyutlu listeler, benzersiz eleman kümeleri, anahtar-değer haritaları ve sıralı yapılar; Java'nın zengin koleksiyon arayüzleri ve implementasyonları ile kolayca kullanılabilir. Her koleksiyon türünün farklı performans profili ve kullanım senaryosu vardır.

Temel Koleksiyon Arayüzleri ve Implementasyonlar

  • List (ArrayList, LinkedList): Sıralı, tekrarlayan elemanlara izin verir. ArrayList rastgele erişim için, LinkedList ekleme/silme için hızlıdır.
  • Set (HashSet, LinkedHashSet, TreeSet): Benzersiz elemanlar. HashSet hız için, TreeSet sıralı tutmak için.
  • Map (HashMap, LinkedHashMap, TreeMap): Anahtar-değer çiftleri. HashMap en hızlı, TreeMap anahtarları sıralı tutar.
  • Queue (ArrayDeque, PriorityQueue): FIFO veya öncelikli kuyruk yapısı.

Koleksiyon Kullanım Örneği

// ArrayList
List<String> isimler = new ArrayList<>();
isimler.add("Ali"); isimler.add("Veli");
isimler.forEach(System.out::println);

// HashMap
Map<String, Integer> puan = new HashMap<>();
puan.put("Ali", 90); puan.put("Veli", 75);
puan.forEach((k,v) -> System.out.println(k + ": " + v));

Generics Nedir?

Generics, tip güvenliğini derleme zamanında sağlayan Java özelliğidir. List<String> yalnızca String kabul eder; yanlış tip eklenmeye çalışıldığında derleme hatası verir. Runtime ClassCastException riskini ortadan kaldırır.

Generic Metot ve Sınıf Yazma

// Generic metot
public static <T extends Comparable<T>> T maksimum(T a, T b) {
    return a.compareTo(b) >= 0 ? a : b;
}

// Generic sınıf
public class Kutu<T> {
    private T icerik;
    public void koy(T nesne) { this.icerik = nesne; }
    public T al() { return icerik; }
}

Wildcard ve Bounded Types

  • List<?> – Herhangi bir tipten liste (unbounded wildcard)
  • List<? extends Number> – Number ve alt sınıfları (upper bounded)
  • List<? super Integer> – Integer ve üst sınıfları (lower bounded)

Bilkey Java Programlama Kursu

Bilkey Bilişim Akademisi Java Programlama Kursu'nda Java OOP, Collections Framework, Generics, Stream API ve Spring Boot konuları uygulamalı olarak öğretilmektedir. Kurtköy merkezimizde yazılım kariyerinizi inşa edin. 0216 354 7979

java collections java arraylist java hashmap java stream api java generics java list map set
İleri Düzey Java Eğitimi hakkında bilgi almak ister misiniz?

Birebir özel yüz yüze eğitim yada uzaktan eğitim, esnek ders saatleri ile Pendik Kurtköy'de.