Java Koleksiyonlara Giriş, Yaygın Koleksiyon Metodları

Koleksiyon tek bir nesnede bulunan nesneler topluluğudur. Java Collections Framework, koleksiyonları depolamak için java.util’de bulunan bir sınıf kümesidir. Java Collections Framework’de dört ana interface bulunmaktadır. Bunlar kısaca aşağıdaki gibidir:

List: Yinelen girişlere izin veren bir sıralı öğe koleksiyonudur. Listedeki ögelere int tipteki bir index ile erişilir.

Set: Yinelenen girişlere izin verilmeyen bir koleksiyondur.

Quene : Öğeleri ilk giren ilk çıkar (FIFO) mantığıyla depolayan koleksiyondur.

Map : Bir mapteki öğeler key/value çiftleridir. Anahtarları(key) değerlerle ( value) ile eşleştiren ve yinelenen anahtarlara izin vermeyen bir koleksiyon çeşididir.

Yaygın Kullanılan Collection Metotları

add()

Collectiona yeni bir eleman ekler ve başarılı olup olmadığını döndürür. Aşağıdaki örnekte set collectionuna aynı veri eklenemeyeceği için ikinci eklemede false döndürdü.

  Collection<String> list = new ArrayList<>();
        System.out.println(list.add("Karga"));  //true
        System.out.println(list.add("Karga"));  //true
        
        Collection<String> set = new HashSet<>();
        System.out.println(set.add("Karga")); //true
        System.out.println(set.add("Karga")); //false

remove()

Koleksiyonda eşleşen değerlerden sadece birini siler. Aşağıdaki örnekte; listede bulunmayan değer false döndürdü. Listede bulunan Kargayı silmek istediğimizde sadece birini sildi.

  Collection<String> list = new ArrayList<>();
        System.out.println(list.add("Karga"));  //true
        System.out.println(list.add("Karga"));  //true
        
        Collection<String> set = new HashSet<>();
        System.out.println(set.add("Karga")); //true
        System.out.println(set.add("Karga")); //false

Bir döngü kullanarak remove() metodunu kullanamayız. Java exception fırlatacaktır.

 Collection<String> list = new ArrayList<>();
        list.add("Karga"); 
        list.add("Karga");
        list.add("Karga");
        list.add("Karga");
        
        for(String kus : list)
            list.remove(kus);   //java.util.ConcurrentModificationException 
}

isEmpty() ve size()

Koleksiyonda kaç eleman olduğunu bulmak için kullanılır. isEmpty() boolean değer döndürür, koleksiyonun boş olup olmadığını bulmak için kullanılır. size () ise int değer döndürür, koleksiyonun eleman sayısını bulmak için kullanılır.

Collection<String> list = new ArrayList<>();
        System.out.println(list.isEmpty()); //true
        System.out.println(list.size()); //0
        list.add("Karga"); 
        list.add("Karga");
        System.out.println(list.isEmpty()); //false
        System.out.println(list.size()); //2

clear()

Koleksiyondaki tüm elemanları silmek için kullanılır.

Collection<String> list = new ArrayList<>();
        list.add("Karga");
        list.add("Karga");
        System.out.println(list.size()); //2
        list.clear(); //Koleksiyon boş
        System.out.println(list.size()); //0

contains()

Koleksiyonda bir değerin olup olmadığını kontrol eder. Dönüş tipi booleandır.

 Collection<String> list = new ArrayList<>();
        list.add("Karga");
        list.add("Karga");
        System.out.println(list.contains("Karga")); //true
        System.out.println(list.contains("serce")); //false

removeIf()

Koleksiyonda bir koşulla eşleşen tüm öğeleri kaldırır. Aşağıdaki predicate örneğinde K ile başlayan ögeleri koleksiyondan kaldırır.

Collection<String> list = new ArrayList<>();
        list.add("Karga");
        list.add("Serçe");
        System.out.println(list); //{Karga,Serçe]
        list.removeIf(s->s.startsWith("K"));
        System.out.println(list); //Serçe

forEach()

Koleksiyonlarda döngü oluşturmamızı sağlar. Dönüş tipi voiddir.

 Collection<String> list = new ArrayList<>();
        list.add("Karga");
        list.add("Serçe");
        list.forEach(s->System.out.println(s)); //Karga Serçe
Please follow and like us: