Collections Framework Veri Yapıları

Java'da Veri Türleri ve İstisnalar

Jim White

Java Instructor

Framework nedir

  • Framework, genel işlevler sunan, yeniden kullanılabilir türler kümesidir
    • Tür örnekleri: sınıflar ve arayüzler
    • Uygulama kalitesini artırır
    • Her şeyi sıfırdan yazmayı önler
  • Java'da framework'ler bir veya daha çok paketle sunulur
  • Kullanım için yönergeler ve kurallarla gelir

Framework'ler genel işlevler sunan, önceden yazılmış bir kod kümesi sağlar

1 Fotoğraf: Ashkan Forouzani, Unsplash
Java'da Veri Türleri ve İstisnalar

Java Türleri

Java'da iki tür type kategorisi:

  • Primitive türler
    • byte, short, int, long, float, double, char, boolean
  • Reference türleri
    • Classes
    • Interface
    • Enums
    • Arrays
    • ...
Java'da Veri Türleri ve İstisnalar

Collections Framework

  • Collections Framework: Java'nın yerleşik genel veri yapısı türleri kümesi
    • Nesne gruplarını depolamak ve işlemek için bir tür paketi
  • java.util paketinde tanımlıdır
    • Framework türlerini kullanmak için import etmeliyiz
Java'da Veri Türleri ve İstisnalar

Peki diziler?

  • Java dizileri nesne veya ilkel grupları tutabilir
    • Collections Framework alternatif veri yapıları sunar
  • İkisinin de artı ve eksi yönleri vardır
Diziler Collections
Yeniden boyutlandırılamaz Dinamik boyutlu (büyür/küçülür)
İlkel veya nesne depolar Yalnızca nesne depolar
Homojen - öğeler aynı olmalı Heterojen - nesneler farklı olabilir
[] ile özel erişim gösterimi Nesnelere metotlarla erişilir
Özel başlatma sözdizimi {} new kullanılır (özel başlatma yok)
Java'da Veri Türleri ve İstisnalar

Collections Framework Türleri

  • Collections Framework iki temel türe ayrılır: Collection ve Map
    • İki arayüzle temsil edilir: java.util.Collection ve java.util.Map
    • Her ikisinin de birden çok uygulayan sınıfı vardır
  • Herhangi bir Collections Framework türünü kullanmak için import java.util.*;

Collections Framework iki temel tipe sahiptir: Collection ve Map

Java'da Veri Türleri ve İstisnalar

Collection

  • Collection nesne gruplarının birçok türünü tanımlar
    • Bunlar ek arayüzlerle tanımlanır
  • Sıralı nesne grubu: List
  • Sırasız nesne grubu: Set
  • İlk giren ilk çıkar grubu: Queue
    • Banka ya da gişe sırası gibi çalışır
  • Her Collection'ı değiştirmek için .add(Object) ve .remove(Object)

Collection, List, Set ve Map'i içerir

Java'da Veri Türleri ve İstisnalar

Map

  • Map veri yapıları telefon rehberi veya sözlük gibidir
    • "anahtar" nesneler -> "değer" nesneleri
    • Rehberde, isim -> telefon numarası
    • Sözlükte, kelime -> kelime tanımı
  • Bir Map'i değiştirmek için anahtar kullanılır
    • Eklemek için .put(Object key, Object value)
    • Kaldırmak için .remove(Object key)
  • Birçok Map türü vardır — örn. HashMap

Map veri yapısı telefon rehberi veya sözlük gibi çalışır

Java'da Veri Türleri ve İstisnalar

Generics

  • Collections ve Map'ler "parametrelenmiştir"
    • Bir Collection veya Map içindeki nesneleri belirtmek için Java generics kullanılır
    • Generic sözdizimi: <Class> ile parametreli tür
      • < > işaretine diamond operatörü denir
ArrayList<String> list = new ArrayList<String>();  // Generics ile oluşturma
Java'da Veri Türleri ve İstisnalar

Generics ve tür güvenliği

  • Generics daha iyi tür güvenliği sağlar
    • Collection ve Map içeriğindeki nesneleri kısıtlar
ArrayList<String> list = new ArrayList<String>();
list.add("hello");  // String eklemek sorun değil
list.add(new Integer(5));  // Integer eklemeye çalışmak derleyici hatası üretir
Java'da Veri Türleri ve İstisnalar

Generics kullanmamak

ArrayList list2 = new ArrayList();  // Yasal ama belirsiz

list2.add("hello");                 // Artık her tür nesne eklenebilir
list2.add(new Integer(5));
Java'da Veri Türleri ve İstisnalar

Değişken bildirimi ve atama

  • Değişken bildirimi ve atama ayrı yapılabilir
ArrayList<String> list = new ArrayList<String>(); //Tek satır bildirim ve atama

ArrayList<String> list2;    // Değişken bildirimi...
list2 = new ArrayList<String>();  //... ve atama iki ifade olabilir
Java'da Veri Türleri ve İstisnalar

Hadi pratik yapalım!

Java'da Veri Türleri ve İstisnalar

Preparing Video For Download...