logo

Java'da HashSet ve HashMap sınıfı arasındaki fark

Hash Haritası Ve Karma Kümesi Java'daki en popüler Koleksiyon sınıflarıdır. Her ikisi de veri yapısı için kullanılır. Aşağıdaki tabloda HashMap ve HashSet arasındaki fark açıklanmaktadır:

Temel Hash Haritası Karma Kümesi
Tanım Java HashMap, Harita arayüzünün karma tablo tabanlı bir uygulamasıdır. HashSet bir Kümedir. Depolama için karma tablo kullanan bir koleksiyon oluşturur.
Uygulama HashMap uygular Harita, Klonlanabilir ve Serileştirilebilir arayüz es. HashSet uygular Ayarla, Klonlanabilir, Serileştirilebilir, Yinelenebilir Ve Toplamak arayüzler.
Mağazalar HashMap'te bir saklıyoruz anahtar/değer çifti . Anahtar ve değerin eşlenmesini korur. HashSet'te saklıyoruz nesneler .
Yinelenen değerler İzin vermiyor yinelenen anahtarlar , Ancak yinelenen değerler öyle izin verilmiş . İzin vermiyor yinelenen değerler .
Boş değerler Bir içerebilir tek boş anahtar Ve birden fazla boş değer . İçerebilir tek bir boş değer .
Ekleme yöntemi HashMap şunları kullanır: koymak() HashMap'teki öğeleri ekleme yöntemi. HashSet şunu kullanır: eklemek() HashSet'e öğe ekleme yöntemi.
Verim HashMap: Daha hızlı/ Değerler benzersiz bir anahtarla ilişkilendirildiğinden HashSet'ten daha iyidir. HashSet: Yavaş Üye nesnesi, iki nesne için aynı olabilen hashcode değerini hesaplamak için kullanıldığı için HashMap'ten daha iyidir.
Nesnelerin sayısı Sadece bir Ekleme işlemi sırasında nesne oluşturulur. Var iki yerleştirme işlemi sırasında oluşturulan nesneler, biri anahtar ve bir tanesi değer .
Depolama Mekanizması HashMap dahili olarak kullanır karma nesneleri depolamak için. HashSet dahili olarak bir Hash Haritası nesneleri depolamak için nesne.
Kullanım Alanları Korumadığımız zaman her zaman tercih ederiz benzersizlik . korumamız gerektiğinde kullanılır. benzersizlik veri.
Örnek {a->4, b->9, c->5} Nerede a, b, c öyle anahtarlar Ve 4, 9, 5 öyle değerler anahtarla ilişkilidir. {6, 43, 2, 90, 4} Bir kümeyi ifade eder.

Programlar aracılığıyla farklılıkları anlayalım.

HashMap örneği

Aşağıdaki örnekte aynı anahtara ve farklı değere sahip yinelenen bir öğe eklediğimizde anahtarın önceki değeri yeni değerle değiştirilir.

Aynı anahtara ve aynı değere sahip yinelenen bir öğe eklediğimizde anahtar/değer çifti ikinci kez saklanmaz.

 import java.util.*; public class HashMapExample { public static void main(String args[]) { //creating object of HashMap HashMap hm= new HashMap(); //adding key-value pair hm.put('John', 23); hm.put('Monty', 27 ); hm.put('Richard', 21); hm.put('Devid', 19); System.out.println('Before adding duplicate keys: '); System.out.println(hm); //adding duplicate keys hm.put('Monty', 25); //replace the Monty's previous age hm.put('Devid', 19); System.out.println('After adding duplicate keys: '); System.out.println(hm); } } 

Çıktı:

Java'da HashSet ve HashMap sınıfı arasındaki fark

HashSet örneği

Aşağıdaki örnekte, yinelenen değerlerin HashSet'te saklanmadığını, null değerinin ise yalnızca bir kez depolandığını görebiliriz.

 import java.util.*; public class HashSetExample { public static void main(String args[]) { //creating object of HashSet HashSet hs= new HashSet(); //adding values to HashSet hs.add('Java'); hs.add('Python'); hs.add('C++'); hs.add('C'); System.out.println('Before adding duplicate and null values: '); System.out.println(hs); //adding duplicate values hs.add('Python'); hs.add('C'); System.out.println('After adding duplicate values: '); System.out.println(hs); //adding null values hs.add(null); hs.add(null); System.out.println('After adding null values: '); System.out.println(hs); } } 

Çıktı:

Java'da HashSet ve HashMap sınıfı arasındaki fark