linkedhashmap java linkedhashmap example implementation
Bu Eğitimde LinkedHashMap Örneği ve Yöntemleri, Java'da Uygulama, LinkedHashMap vs HashMap dahil Java'da LinkedHashMap hakkında her şeyi açıklar:
Java'daki LinkedHashMap, HashTable ve LinkedList uygulamasını birleştiren bir uygulamadır. Harita arayüzünü uygular. LinkedHashMap'in anahtar-değer çiftleri tahmin edilebilir bir yineleme sırasına sahiptir.
Harita arayüzüne ek olarak LinkedHashMap, HashMap sınıfını da genişletir.
=> Java Eğitim Serisini Herkes İçin Görmek İçin Burayı Ziyaret Edin.
selenium webdriver'da radyo düğmesi nasıl seçilir
Ne öğreneceksin:
Java'da LinkedHashMap
LinkedHashMap'in temel özelliklerinden bazıları şunlardır:
- Anahtar tabanlı değerler içerir.
- Anahtar / değer çiftlerinin eklenmesinin sırasını korur.
- Yinelemelere izin vermez, benzersiz unsurlara sahiptir.
- Tek bir boş anahtarı olabilir. Ancak birden çok boş değere izin verir.
- Java LinkedHashMap senkronize edilmemiştir.
LinkedHashMap Beyanı
Java'daki LinkedHashMap sınıfı, java.util paketinin bir parçasıdır.
Bu sınıfın Java'daki genel beyanı aşağıdaki gibidir:
public class LinkedHashMap extends HashMap implements Map
Burada K => haritadaki anahtarların türü.
V => anahtarlarla eşlenen değerlerin türü.
LinkedHashMap'in sınıf hiyerarşisi aşağıda gösterilmektedir:
Yukarıdaki diyagramda gösterildiği gibi LinkedHashMap, HashMap ve AbstractMap sınıfını miras alır ve Harita arayüzünü uygular.
LinkedHashMap Örneği
Aşağıda basit bir örnek verilmiştir.
import java.util.*; class Main{ public static void main(String args()){ //declare and initialize LinkedHashMap LinkedHashMap num_map=new LinkedHashMap(); num_map.put(1,'ONE'); num_map.put(2,'TWO'); num_map.put(3,'THREE'); num_map.put(4,'FOUR'); num_map.put(5,'FIVE'); System.out.println('The contents of LinkedHashMap:'); //retrieve the key-value pairs as set using entrySet & print each entry for(Map.Entry m:num_map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } }
Çıktı:
LinkedHashMap'in içeriği:
1 BİR
2 İKİ
3 ÜÇ
4 DÖRT
5 BEŞ
mac'da a.dat dosyası nasıl açılır
Oluşturucular ve Yöntemler
LinkedHashMap sınıfı tarafından sağlanan yapıcıları ve yöntemleri tartışalım. İlk olarak, kurucuları ve ardından yöntemleri tartışacağız.
İnşaatçılar
Yapıcı Prototip | Açıklama | |
---|---|---|
anahtar seti | KeySet () ayarla | Haritadaki anahtar kümesini döndürür. |
LinkedHashMap () | LinkedHashMap için varsayılan kurucu. | |
LinkedHashMap (int kapasite) | Belirli bir kapasiteye sahip bir LinkedHashMap nesnesi oluşturur. | |
LinkedHashMap (int kapasite, float loadFactor) | Verilen kapasite ve loadFactor ile bir LinkedHashMap nesnesi oluşturur. | |
LinkedHashMap (int Capacity, float loadFactor, boolean accessOrder) | Belirli bir kapasite ve loadFactor ile bir LinkedHashMap nesnesi oluşturur. Ayrıca, sipariş modu (accessOrder) belirlenir. | |
LinkedHashMap (Harita m) | Bir LinkedHashMap nesnesi oluşturur ve onu m bağımsız değişken olarak iletilen haritadaki değerlerle başlatır. |
Yöntemler
Yöntem | Yöntem Prototipi | Açıklama |
---|---|---|
almak | V get (Nesne anahtarı) | Verilen anahtarın değerini döndürür. |
açık | void temizle () | Haritadaki tüm anahtar / değer çiftlerini temizler. |
containsValue | boolean containsValue (Nesne değeri) | Haritanın, verilen değerle eşlenmiş bir veya daha fazla anahtar içerip içermediğini kontrol eder. Evet ise doğru döndürür. |
entrySet | Ayarlamak | Haritadaki giriş kümesini döndürür. |
her biri için | void forEach (BiConsumer eylemi) | Haritadaki tüm girişler için verilen eylemi yürütür. |
getOrDefault | V getOrDefault (Nesne anahtarı, V defaultValue) | Anahtarla eşlenen değeri döndürür. Hiçbir değer eşlenmezse, varsayılan döndürülür. |
removeEldestEntry | korumalı boole removeEldestEntry (Map.Entry en eski) | Haritadaki en eski girişi kaldırır ve kaldırıldığında true değerini döndürür. |
hepsini değiştir | void replaceAll (BiFunction işlevi) | Her girişte verilen işlevi çağırır ve işlevin sonucunu değerlerle değiştirir. |
değerler | Koleksiyon değerleri () | Haritadaki değerler koleksiyonunu döndürür. |
Java'da Uygulama
Aşağıdaki Java programı, yukarıda tartışılan yöntemleri göstererek LinkedHashMap uygulamasını göstermektedir.
import java.util.*; public class Main { public static void main(String a()) { //declare LinkedHashMap and initialize it with values LinkedHashMap colors_map = new LinkedHashMap(); colors_map.put('one', 'Red'); colors_map.put('two', 'Green'); colors_map.put('three', 'Blue'); // Original LinkedHashMap System.out.println('Original LinkedHashMap:' + colors_map); //isEmpty () System.out.println('LinkedHashMap 'colors_map' empty?:' + colors_map.isEmpty()); //size () System.out.println('Size of the map: ' + colors_map.size()); //get () System.out.println('Value for key = 'one':' + colors_map.get('one')); //containsKey () System.out.println('colors_map contains key = 'two':'+ colors_map.containsKey('two')); //containsValue () System.out.println('colors_map contains value 'ree':' + colors_map.containsValue('ree')); //remove () System.out.println('delete element 'one': ' + colors_map.remove('one')); System.out.println('Updated colors_map:' + colors_map); } }
Çıktı:
Orijinal LinkedHashMap: {bir = Kırmızı, iki = Yeşil, üç = Mavi}
LinkedHashMap 'colours_map' boş mu?: False
Haritanın boyutu: 3
Anahtarın değeri = 'bir': Kırmızı
colours_map anahtar = 'iki' içerir: true
colours_map 'ree' değerini içerir: false
'bir' öğesini sil: Kırmızı
Güncellenen renkler_map: {iki = Yeşil, üç = Mavi}
Bu programda bir renk haritası açıklıyoruz ve onu başlatıyoruz. Ardından sonuçları elde etmek için yukarıda tartışılan çeşitli yöntemleri kullanırız.
LinkedHashMap Vs HashMap
LinkedHashMap | HashMap | ||
---|---|---|---|
Temel işlemlerin zaman karmaşıklığı | O (1) | O (1) | O (1) |
Sıralı haritaları uygular. | Sırasız haritaları uygular. | ||
Çift bağlantılı kova listesi kullanır. | Hash tablosunu kullanır. | ||
Öğeleri yinelerken düzeni korur. | Yineleme sırasında sırayı korumaz. | ||
Daha fazla bellek gerektirir. | LinkedHashMap'ten daha az bellek gerektirir. | ||
Ekleme, çıkarma, arama vb. Gibi temel işlemler daha yavaştır. | Ekleme, arama kaldırma gibi temel işlemler daha hızlıdır. |
HashMap Vs TreeMap Vs LinkedHashMap
Şimdi üç harita uygulamasını karşılaştıralım, yani. HashMap, TreeMap ve LinkedHashMap.
Aşağıdaki tablo karşılaştırmayı / farkı göstermektedir.
Karşılaştırma Parametresi | HashMap | LinkedHashMap | Ağaç Haritası |
---|---|---|---|
Arayüz | Harita | Harita | Harita, Sıralanmış Harita, Gezinilebilir Harita |
Veri yapısı | Kova listesi | Çift bağlantılı kova listesi | Kırmızı-Siyah ağaç |
Yineleme Sırası | Sipariş yok. | Ekleme sırasına göre sıralandı | Öğelerin doğal sırasına göre sıralanmıştır |
Boş Anahtarlar | İzin verilir | İzin verilir | İzin verilmedi |
Senkronizasyon | Senkronize değil | Senkronize değil | Senkronize değil |
Anahtar gereksinimi | Equals () ve hashCode () yöntemlerinin üzerine yazılması gerekiyor | Equals () ve hashCode () yöntemlerinin üzerine yazılması gerekiyor | Doğal düzen korunur veya karşılaştırıcının sağlanması gerekir |
Sıkça Sorulan Sorular
S # 1) Java'da LinkedHashMap nedir?
Cevap: Java'da LinkedHashMap, HashTable ve LinkedList'in bir kombinasyonu olarak uygulanır. Harita arayüzünü uygular. Öngörülebilir bir yineleme sırasına sahiptir. Dahili olarak girişler için çift bağlantılı bir liste kullanır.
S # 2)LinkedHashMap Java'da nasıl çalışır?
en iyi ses değiştirici nedir
Cevap: HashMap'e benzer, ancak LinkedHashMap'in koruduğu ekleme sırasına göre HashMap'ten farklıdır. LinkedHashMap'teki öğeler, veri yapısına girildikleri şekilde saklanır.
S # 3)LinkedHashMap'te nasıl döngü yapabilirim?
Cevap: Bir yineleyici kullanarak bir LinkedHashMap üzerinden döngü yapabiliriz.
Yineleyici kullanarak LinkedHashMap üzerinden yinelemek için izleyebileceğimiz adımlar şunlardır:
- Yeni bir LinkedHashMap nesnesi oluşturun.
- Haritaya anahtar / değer çiftleri eklemek için Put API yöntemini kullanın.
- Haritadaki bir dizi anahtar-değer çifti elde etmek için entrySet () API yöntemini çağırın.
- GetKey () ve getValue () API yöntemlerini kullanarak her anahtar / değer çiftini almak için bu kümedeki yineleyiciyi çağırın.
S # 4)LinkedHashMap'in Java'da kullanımı nedir?
Cevap: Java'da LinkedHashMap'in ana kullanımı, ekleme sırasını korumak için onu kullanmaktır. Ayrıca, tuşlara erişilen erişim sırasını korumak için de kullanılabilir. HashMap'ten daha hızlı olduğu için LinkedHashMap, performansın kritik olduğu HashMap yerine kullanılabilir.
S # 5)HashMap LinkedHashMap'ten daha hızlı mı?
Cevap: Her ikisi de performans açısından benzer. HashMap erişim sırasını korumadığından HashMap LinkedHashMap ile karşılaştırıldığında daha az belleğe ihtiyaç duyar. Dolayısıyla, HashMap nispeten daha hızlıdır.
Sonuç
Bu eğitimde, Java'da LinkedHashMap'i tartıştık. Sınıf bildirimi, sınıf hiyerarşisi, yapıcılar ve yöntemlerle ilgili ayrıntıları gördük.
LinkedHashMap ve HashMap arasındaki temel farkları da öğrendik. Ayrıca LinkedHashMap, HashMap ve TreeMap arasındaki 3 yollu farkı da tartıştık.
Yaklaşan eğitimimizde, Java Collection Framework hakkında daha fazla konu keşfedeceğiz.
=> Basit Java Eğitim Serisine Buradan Dikkat Edin.
Önerilen Kaynaklar
- Örneklerle Java Yansıtma Eğitimi
- Yeni Başlayanlar İçin Derinlemesine Tutulma Öğreticileri
- Java HashTable Nedir - HashTable Uygulaması ve Örneği
- Yeni Başlayanlar İçin JAVA Eğitimi: 100+ Uygulamalı Java Video Eğitimi
- Java'da Erişim Değiştiriciler - Örneklerle Eğitim
- Java SWING Eğitimi: Konteyner, Bileşenler ve Olay İşleme
- Java Dizesi () Örneklerle Yöntem Eğitimi içerir
- String Buffer ve String Builder Eğitimi ile Java String