Java Collectionları nelerdir?

Java Collectionları nelerdir?

Java Collection'ları, programcılara veri yapıları işlemleri için gerekli araçları sunar. Java'da, Collection interface'i, List, Set, Map gibi birçok sınıfın temelini oluşturur. Bu sınıflar, geniş bir veri yapısı yelpazesini kapsar ve farklı veri yapıları için farklı yöntemler sağlar.

Java Collection'ları, birçok özelliği içerir. Bunlar:

  1. Dinamik boyut: Veri yapısına istediğiniz sayıda öğe ekleyebilirsiniz.

  2. Tek tip veri saklama: Collection'lar, sadece belirtilen tipte öğeleri saklarlar.

  3. Kullanımı kolay: Collection'lar, öğeleri kolayca ekleyebilir, çıkarabilir, arayabilir ve değiştirebilirsiniz.

Java'da en yaygın olarak kullanılan Collection sınıfları şunlardır:

  1. List: Elemanları sırayla tutar ve birden fazla aynı elemanı içerebilir. ArrayList, LinkedList ve Vector bu sınıfların örnekleridir.

  2. Set: Elemanları sırasız olarak tutar ve bir elemandan sadece bir tane içerebilir. HashSet, LinkedHashSet ve TreeSet bu sınıfların örnekleridir.

  3. Map: Key-Value çiftleri olarak elemanları saklar. Her anahtar, bir değere karşılık gelir. HashMap, TreeMap ve LinkedHashMap bu sınıfların örnekleridir.

  4. Queue: FIFO (First-In-First-Out) prensibine göre elemanları saklar. PriorityQueue ve ArrayDeque bu sınıfların örnekleridir.

  5. Deque: İki yönlü bir kuyruk (Queue) yapısını temsil eder ve hem FIFO hem de LIFO (Last-In-First-Out) yöntemleriyle elemanlar eklenebilir ve çıkarılabilir. ArrayDeque ve LinkedList bu sınıfların örnekleridir.

Örnek kod:

// List kullanımı
List<String> list = new ArrayList<>();
list.add("Elma");
list.add("Armut");
list.add("Muz");
list.add("Kivi");
System.out.println(list); // [Elma, Armut, Muz, Kivi]

// Set kullanımı
Set<Integer> set = new HashSet<>();
set.add(10);
set.add(20);
set.add(30);
set.add(40);
set.add(50);
System.out.println(set); // [40, 10, 50, 20, 30]

// Map kullanımı
Map<String, Integer> map = new HashMap<>();
map.put("Ali", 25);
map.put("Ayşe", 30);
map.put("Ahmet", 35);
map.put("Mehmet", 40);
System.out.println(map); // {Mehmet=40, Ayşe=30, Ahmet=35, Ali=25}

 

Java Collection'ları, veri yapılarına ilişkin çok sayıda sorunu çözmeye yardımcı olan esnek ve kullanışlı bir araçtır. Bu nedenle, her Java geliştiricisi, Collection sınıflarını iyi bir şekilde anlamalı ve kullanmalıdır.

  1. ListIterator: Iterator'ın bir alt kümesidir ve List interface'ine özgüdür. Liste elemanlarına hem ileri hem de geri yönlü erişim sağlar.

  2. Iterator: Collection elemanlarına erişim sağlar ve elemanlar arasında gezinmenizi sağlar. Elemanları değiştirme veya ekleme işlemi yapılamaz.

  3. Enumeration: Vector ve Hashtable sınıfları için özelleştirilmiş bir arayüzdür ve elemanların gezinmesine yönelik bir arabirim sağlar.

Örnek kod:

// Queue kullanımı
Queue<String> queue = new LinkedList<>();
queue.add("Elma");
queue.add("Armut");
queue.add("Muz");
queue.add("Kivi");
System.out.println(queue); // [Elma, Armut, Muz, Kivi]

// Deque kullanımı
Deque<Integer> deque = new LinkedList<>();
deque.addFirst(10);
deque.addLast(20);
deque.addFirst(30);
deque.addLast(40);
System.out.println(deque); // [30, 10, 20, 40]

// ListIterator kullanımı
List<String> list = new ArrayList<>();
list.add("Elma");
list.add("Armut");
list.add("Muz");
list.add("Kivi");
ListIterator<String> iterator = list.listIterator();
while(iterator.hasNext()){
    System.out.println(iterator.next());
}

// Iterator kullanımı
Set<Integer> set = new HashSet<>();
set.add(10);
set.add(20);
set.add(30);
set.add(40);
set.add(50);
Iterator<Integer> iterator = set.iterator();
while(iterator.hasNext()){
    System.out.println(iterator.next());
}

// Enumeration kullanımı
Vector<String> vector = new Vector<>();
vector.add("Elma");
vector.add("Armut");
vector.add("Muz");
vector.add("Kivi");
Enumeration<String> enumeration = vector.elements();
while(enumeration.hasMoreElements()){
    System.out.println(enumeration.nextElement());
}

Java Collection'ları, veri yapıları işlemleri için kolay ve kullanışlı bir araçtır ve Java programlama dilinin en önemli özelliklerinden biridir

Java Collectionları nelerdir?
Paylaş: