logo

Разлика између ХасхСет и ХасхМап класе у Јави

Тхе ХасхМап и ХасхСет у Јави су најпопуларније класе Цоллецтион. Оба се користе за структуру података. Следећа табела описује разлику између ХасхМап-а и ХасхСет-а:

Основа ХасхМап ХасхСет
Дефиниција Јава ХасхМап је имплементација интерфејса Мапе заснована на хеш табели. ХасхСет је скуп. Креира колекцију која користи хеш табелу за складиштење.
Имплементација ХасхМап имплементира Мапа, могућност клонирања и серијализација интерфејс ес. ХасхСет имплементира Сет, Цлонеабле, Сериализабле, Итерабле и Цоллецтион интерфејси.
Продавнице У ХасхМап-у чувамо а пар кључ-вредност . Одржава мапирање кључа и вредности. У ХасхСет-у чувамо објеката .
Дуплициране вредности Не дозвољава дупликати кључева , али дупле вредности су дозвољен . Не дозвољава дупле вредности .
Нулл вредности Може да садржи а један нул кључ и више нултих вредности . Може да садржи једну нулту вредност .
Начин уметања ХасхМап користи ставити() метод за додавање елемената у ХасхМап. ХасхСет користи додати() метод за додавање елемената у ХасхСет.
Перформансе ХасхМап је брже/ него ХасхСет јер су вредности повезане са јединственим кључем. ХасхСет је спорији него ХасхМап јер се објекат члан користи за израчунавање вредности хеш кода, који може бити исти за два објекта.
Број објеката Само један објекат се креира током операције додавања. Постоје два објекти настали током операције стављања, један за кључ и један за вредност .
Механизам складиштења ХасхМап интерно користи хеширање за складиштење предмета. ХасхСет интерно користи а ХасхМап објекат за складиштење објеката.
Користи Увек преферирамо када не одржавамо јединственост . Користи се када треба да одржавамо јединственост података.
Пример {а->4, б->9, ц->5} Где а, б, ц су кључеви и 4, 9, 5 су вредности повезан са кључем. {6, 43, 2, 90, 4} Означава скуп.

Хајде да разумемо разлике кроз програме.

Пример ХасхМап-а

У следећем примеру, када додамо дупликат елемента са истим кључем и различитом вредношћу, претходна вредност кључа се замењује новом вредношћу.

Када додамо дупликат елемента са истим кључем и истом вредношћу, тада се пар кључ-вредност не чува други пут.

 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); } } 

Излаз:

Разлика између ХасхСет и ХасхМап класе у Јави

Пример ХасхСет-а

У следећем примеру можемо видети да се дуплиране вредности не чувају у ХасхСет-у и да се нулта вредност чува само једном.

гимп заменити боју
 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); } } 

Излаз:

Разлика између ХасхСет и ХасхМап класе у Јави