LinkedHashMap Sınıfı Kullanımı
Class LinkedHashMap
Soyağaçı
LinkedHashMap Nedir ?
- LinkedHashMap sınıfı JCF(Java Collection Framework) içindedir. Map arayüzünü donatan HashMap sınıfını genişletir.
- HashMap ve LinkedList özelliklerine sahiptir. Bağlantılı listelerde olduğu gibi, öğelerine ambara giriş sırasıyla erişebilir. Dolayısıyla, bu yapıda döngü sırası öngörülebilir.
- Bu yapının kendi üst sınıfı olan HashMap yapısından önemli bir farkı vardır. Öğelerini çift yönlü bağ ile birbirine bağlar.
- Bağlı liste olduğu için, döngü sırası öğelerin bağlı listedeki konumlarıdır. Öğelerin konumunun listenin yaratılışında yerleştirdikleri sıra olduğunu unutmayalım.
- LinkedHashMap sınıfı, LinkedList yapısının özelliklerine sahip olduğu için, HashMap yapısındaki belirsiz erişim sırasını önler. Koleksiyonun öğelerine öngörülebilen bir sırada erişimi sağlar. Tabii, bu erişim sırasını, HashMap yapısını TreeMap yapısına dönüştürerek de yapabiliriz. Ama genellikle, TreeMap yapısı daha yavaştır.
- m bir Set yapısı olsun. m ambarını LinkedHashMap yapısına dönüştürmek için;
söz yazımı yeterlidir. Bu dönüşümde, öğelerin sırası değişmez; yalnızca onlar arasında bağ(link) oluşur. O nedenle, TreeMap yapısına dönüştürmeye göre daha hızlıdır.
7. LinkedHashMap yapısı Map işlemlerinin hepsine izin verir; null değer içerebilir.
LinkedHashMap Sınıfının Kurucuları
LinkedHashMap()
Başlangıç kapasitesi 16 ve yükleme çarpanı 0,75 olan boş bir LinkedHashMap yaratır. Erişim sırası giriş sırasıdır.
LinkedHashMap(int initialCapacity)
Başlangıç kapasitesi belirtildiği kadar ve yükleme çarpanı 0.75 olan boş bir LinkedHashMap ambarı yaratır. Erişim sırası giriş sırasıdır.
LinkedHashMap(int initialCapacity, float loadFactor)
Başlangıç kapasitesi ve yükleme çarpanı belirtildiği kadar olan boş bir LinkedHashMap ambarı yaratır. Erişim sırası giriş sırasıdır.
LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder)
Başlangıç kapasitesi ve yükleme çarpanı belirtildiği kadar olan boş bir LinkedHashMap ambarı yaratır. Erişim sırası belirtilen sıradır.
LinkedHashMap(Map m)
Verilen Map için giriş sıralı bir LinkedHashMap yaratır.
LinkedHashMap Sınıfının Metotları
void clear()
Map içindeki bütün eşlemleri siler.
boolean containsValue(Object obj)
Parametredeki obj nesnesine eşlenen bir ya da daha çok anahtar varsa, true verir
Object get(Object key)
Parametredeki anahtarla eşleşen nesneyi verir.
protected boolean removeEldestEntry(Map.Entry eldet)
En eski eşleşmeyi silebilirse, true verir.
LinkedHashMap sınıfı, HashMap sınıfının bütün metotlarına kalıtımsal olarak sahiptir. ! ! !
LinkedHashMap Uygulamaları
- Programımız boş bir LinkedHashMap ambarı kuruyor, içine illerin telefon kodlarını adlarına eşleşen eşlemleri koyuyor. Sonra get() metodu ile bir anahtara eşleşen veriyi buluyor.
Sonuç :
2. LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder) için örnek;
Sonuç :