Java Collection Nedir, Ne işe Yarar ?

Herkese Merhaba, Bu kısımda java’nın collection framework’ünü inceleyeceğiz.

Öncelikle Framework nedir ? => Framework, geliştiricilere projelerinde kullanacakları sınıfları,eklentileri vs. toplu bir şekilde sunulması’dır.

Peki ya Collection  nedir ? => Objeleri çeşitli algoritma yapılarını implemente ederek saklayan  yapılardır .

 

Java Collection Framework’un Avantajları:

1. Veri kollleksiyonları üzerinde yukarıda sıralanan eylemeleri yapmaya yarayan ve API1 adını alan arayüzleri öğrenmek zorunda kalmadan, Java Collection Framework yardımıyla istediğimiz eylemleri gerçekleştirebiliriz.

2. Yazılımın tekrar kullanılmasını (software reuse) sağlayan arayüzleri ve veriler üzerinde işlem yapmaya yarayan algoritmaları içerir.

3. Özel amaçlar için bile olsa, programcı yeniden algoritma yazmak zorunda kalmaz.

4. İçerdiği veri yapıları onlara uygulanan algoritmalar, programcının işini kolaylaştırır, üretim zamanını kısaltır, programın güvenirliğini sağlar.

5. İçerdiği veri yapıları onlara uygulanan algoritmalar, programın performansını artırır.

6. API!lerin kullanılışı konusunda ortak bir dil oluşturur.

7. Veri ekleyip çıkardıkça, koleksiyonların uzunluğu (büyüklüğü) kendi kendine değişir; programcının o değişimi ayarlaması gerekmez.

Java Collection Framework’un Dezavantajları:

1. Derleme anında veri tipi denetimi yapamaz.

2. Veri tipini doğru seçmek gerekir.

 

Collection Tablosu :

2016-09-01_15h57_33

Resim http://www.baskent.edu.tr/~tkaracay/etudio/ders/prg/dataStructures/Collections/Collections01.pdf ‘den alınmıştır..

Collection : En üst sınıf..

List: nesnelerden oluşan topluluk. Topluluk içinde dublikasyon olabilir, topluluğun belirli bir sıralaması vardır.

Set: Sırası olmayan ve duplikasyonu olmayan nesneler topluluğu.

SortedSet: Artan sırada sıraya dizilmiş nesneler kümesi.

Map: her öğesine bir anahtar atanmış nesneler topluluğu

SortedMap: Anahtarlarına göre artan sırada dizilmiş nesneler topluluğu.

linkedList: Bağlı liste herhangi bir tipten node’ların (düğümlerin) yine kendi tiplerinden düğümlere işaret etmesi (point) ile oluşan zincire verilen isimdir.

ArrayList: Dinamik olarak genişleyebilen tek boyutlu dizilerdir.

  • ArrayList : 
  • List interface’ini implemente etmiştir .
  • Veriler index’li bir şekilde saklanır .
  • Sıralı listelere hızlı erişim sağlanır
  • HashMap : 
  • Map interface’ini implemente etmiştir .
  • Key değerlerinden hash üretilerek objeler saklanır
  • HashSet   :  
  • Set arayüzünü implemente eder
  • Veriler sırasızdır
  • SortedMap :
  • Map arayüzünü implemente etmiştir  
  • Map in key değeri sıralı olarak gelir
  • SortedSet :  
  • Set arayüzünü implemente etmiştir
  • Artan sıraya göre dizilmiş nesneler kümesi.
  • LinkedList  : 
  • List arayüzünü imlemente etmiştir
  • Veriler sıralı olarak gösterilir , fakat birbirlerinin adreslerini tutar.

Collection İnterface’inin özellikleri ise;

  • int size() : Collection içerisinde bulunan elemanların sayısını verir
  • boolean isEmpty() : Collection içerisinde eleman yoksa true değerini dönderir
  • boolean contains(Object element) : Parametre olarak verilen eleman Collection içerisinde mevcutsa true değerini dönderir
  • boolean add(Object element) : Collection yapısına object ekler . Collection ı implemente eden sınıflar bu metodu implemente etmek zorunda değildir
  • boolean remove(Object element): Collection yapısından object remove eder . Collection ı implemente eden sınıflar bu metodu implemente etmek zorunda değildir
  • Iterator<E> iterator() : Collection yapısında objeleri get etmeye  , remove etmeye yada obje listesi üzerinde dolaşmaya yarar
  • boolean containsAll(Collections<E> c) : Bulk bir işlemdir . Verilen obje listesinin collection içerisinde var olup olmadığını kontrol eder
  • boolean addAll(Collections<E> c) : Parametre olarak verilen listeyi toplu olarak collection içerisine ekler.
  • boolean removeAll(Collections<E> c) : Parametre olarak verilen liste içerisindeki elemanları collection içerisinden remove eder.
  • boolean retainAll(Collections<E> c) : Parametre olarak verilen liste ile collection içerisindeki elemanları aynı tutar . Yani parametre olarak verilen listede olmayan elemanlar collection içerisinde  çıkartılır .
  • void clear() : Liste içerisindeki elemanları çıkartır
  • Object[] toArray() : List yapısı array yapısına dönüştürülür
  • <T> T[] toArray(T[] a)  : List yapısı array yapısına dönüştürülür ve list yapısının içeriğide değiştirilir .

 

 

Kaynaklar ve daha fazla bilgi için.. :

http://www.baskent.edu.tr/~tkaracay/etudio/ders/prg/dataStructures/Collections/Collections01.pdf

http://ilkaygunel.com/collection/

http://tutorials.jenkov.com/java-collections/list.html

Post Author: umiitkose

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">