Merhabalar. Bu yazı ile birkaç yazı sürecek olan Java’da Collections konusuna başlamış oluyoruz. Yazıları yazarken kaynak olarak Deitel&Deitel’in How To Program Java kitabını ve birtakım internet sitelerini kullanıyor olacağım. Sitelerin linklerini de vereceğim. Bu ilk yazıda Collections Nedir? sorusuna cevap arayacağız.

Yazılımların kodlanması aşamasında veriler tek tek objelere atanmaz. Çünkü bu yönetimi zor ve bellek açısından riskli durumlar doğurabilir. Bunun yerine aynı türden verileri bir arada tutan yapılardan yararlanılır. Örneğin her programlama dilinde mevcut olan dizileri düşündüğümüz zaman int, char ya String olsun aynı türden veriler bir arada tutulmaktadır. İşte bu dizi mantığının Java’da geliştirilmiş, daha fazla özellik özellik mevcut olan halinin barındığı kümeye Collection Framework adı verilir. İstediğimiz türden veri tutup üzerinde işlemler yapmayı sağlayan bu kümede Collection Interface ve Collections Class adında iki yapı kaşımıza çıkar.

Collection Interface

Collection Framework hiyerarşisi içinde en üst interface Collection Interface’dir. Framework içindeki birtakım interface’ler bu Collection Interface’i extend ederek oluşturulmuşlardır. Onlardan bazıları şöyledir:

  • SET: Collection Framework’ü extend eder ve içinde tekrarlı (duplicate) veri tutmaz.
  • LIST: Sıralı bir koleksiyon yapısıdır. Tekrarlı veri tutmaya müsaittir.
  • QUEUE: İsminden de anlayacağımız üzere ilk giren ilk çıkan mantığında işleyen koleksiyon yapısıdır.

Collections Class

Bu sınıf ile arama, sıralama vb. birtakım işlemler yapılabilir ve bunun yanında Wrapper Metot denilen metotlarından da yararlanabiliriz. (Wrapper Metot işi başka bir metodu çağırmak olan metotdur.) Örneğin Collection sınıfı içerisine gidip baktığınızda synchronizedCollection metodunun bir wrapper metot olduğunu göreceksiniz.

Ayrıca Alican Akkuş da yazıya şöyle bir resim eklememin faydalı olacağını. Kendisine teşekkür ederim.

[Constructocat by https://github.com/jasoncostello]

Arabirimler arası hiyerarşinin anlatıldığı resimden gördüğümüz üzere Collection arabirimi kullanılarak ondan Set, List ve Queue arabirimleri türetilmiştir. Set arabiriminden SortedList, Queue arabirinden de Deque ve BlockingQueue arabirimleri türetilmiştir.

Bu yazıda kısaca Collection Framework’ e giriş yapmış olduk. Gelecek yazıda List Interface konusunu işleyeceğiz. Görüşene kadar sağlıcakla kalın.

Resim kaynağı (Source of The Image: http://www.jusfortechies.com/java/core-java/collections/collections.php)