Haritalar

Java'da Veri Türleri ve İstisnalar

Jim White

Java Developer

Map'ler başvuru tablolarıdır

  • Map'ler başvuru/tablo veri yapılarıdır
    • Belirli bir "anahtar"da bir "değer" saklar
    • Kayıtlı "değer"i almak için "anahtar" kullanılır
  • Örnek: doktora arama
    • Ad/doğum tarihi (anahtar) ile sağlık kaydını (değer) bulurlar

Haritalar, bir doktordan randevu alırken ad ve doğum tarihiyle sağlık kaydı bulmaya benzer bir başvuru yapısıdır

Java'da Veri Türleri ve İstisnalar

Map arayüzü

  • Map arayüzü anahtar/değer çiftleri üzerindeki işlemleri tanımlar
    • Belirli bir anahtara bir değeri nasıl depolayıp "put" edeceğimizi
    • Mapten anahtardaki değeri nasıl "remove" edeceğimizi
    • Bir anahtar verildiğinde değerin nasıl alınacağını
  • Benzer davranışlı birkaç Map uygulaması vardır
    • Popüler bir Map uygulaması HashMaptir
1 Ayrıntılar için bkz. https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Map.html
Java'da Veri Türleri ve İstisnalar

HashMap anahtarları ve değerleri

Map veya HashMap anahtarları ve değerleri aynı ya da farklı türlerde olabilir

Java'da Veri Türleri ve İstisnalar

HashMap oluşturma

HashMap<Integer, String> map = new HashMap<Integer, String>();
  • HashMap için parametrik/jenerik kurucu iki tür ister

    • İlk tür = anahtar türü

      HashMap'in ilk jenerik parametresi anahtarlar içindir

    • İkinci tür = değer türü

      HashMap'in ikinci jenerik parametresi değerler içindir

Generics'teki anahtar ve değer türleri, anahtar ve değerlerin veri tipini belirtir

  • java.util.HashMap içe aktarımı gerekir
Java'da Veri Türleri ve İstisnalar

HashMap yöntemleri

  • Tabloya anahtar/değer çifti eklemek için .put(key,value) kullanın
  • Belirtilen anahtardaki çifti kaldırmak için .remove(key) kullanın
  • Anahtardaki değeri almak için .get(key) kullanın
import java.util.HashMap
...
HashMap<Integer, String> map
    = new HashMap<Integer, String>();
map.put(0, "Jim");
map.put(1, "James");
map.put(3, null);
map.put(4, "James");
map.remove(0);
System.out.println(map);
{1=James, 3=null, 4=James}
String nickname = map.get(1);
System.out.println(nickname);
James
Java'da Veri Türleri ve İstisnalar

Collections

  • java.util.Collections destekleyici bir sınıftır
  • Sıralama, doldurma, kopyalama, arama vb. için kullanılır
    • Yalnızca static yöntemler içerir
1 Bkz. https://docs.oracle.com/en/java/javase//21/docs/api/java.base/java/util/Collections.html
Java'da Veri Türleri ve İstisnalar

Collection yöntemleri

  • Bir Liste birden çok nesne ekleyin
    • addAll(List list, Object a, b, ...)
  • Bir koleksiyondaki bir nesnenin sayısını döndürür
    • frequency(Collection c, Object o)
  • Bir Listteki nesneleri tersine çevirir
    • reverse(List list)
  • Bir Listteki nesneleri sıralar
    • sort(List list)
  • Bir Listteki tüm nesneleri başka bir nesneyle değiştirir
    • fill(List a, Object o)
ArrayList<String> x = new ArrayList<String>();
Collections.addAll(x,
    "milk", "bread", "eggs", "milk");
System.out.println(x);

int cnt = Collections.frequency(x, "milk"); System.out.println(cnt);
Collections.reverse(x); System.out.println(x);
Collections.sort(x); System.out.println(x);
Collections.fill(x, "sugar"); System.out.println(x);
[milk, bread, eggs, milk]

2
[milk, eggs, bread, milk]
[bread, eggs, milk, milk]
[sugar, sugar, sugar, sugar]
Java'da Veri Türleri ve İstisnalar

Arrays

  • Bazen bir diziyi (ör. int[]) bir Liste dönüştürmek gerekir
    • Java dizileri yeniden boyutlandırılamaz; eleman sayısını artırıp azaltmak isteyebiliriz
    • List daha fazla yetenek sunar (arama, sıralama vb.)
  • java.util.Arrays başka bir destek sınıfıdır
    • Bir Java dizisini Liste dönüştürmeyi sağlar
Java'da Veri Türleri ve İstisnalar

Arrays örneği

String[] arrayCountries = {"France", "Japan", "Brazil", "Egypt", "China"};
List<String> countries = Arrays.asList(arrayCountries);
System.out.println(countries);
[France, Japan, Brazil, Egypt, China]
Java'da Veri Türleri ve İstisnalar

Ayo berlatih!

Java'da Veri Türleri ve İstisnalar

Preparing Video For Download...