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