logo

Rozdiel medzi mapou a hashmapou

Mapa je rozhranie v jazyku Java, ktoré sa používa na mapovanie hodnôt párov kľúčov. Používa sa na vkladanie, aktualizáciu, odstraňovanie prvkov. Zatiaľ čo HashMap je trieda Kolekčný rámec Java .

Rozhranie mapy je možné použiť iba s implementačnou triedou. Umožňuje uložiť hodnoty v kombinácii párov kľúčov; neumožňuje duplicitné kľúče; môžeme však uložiť duplicitné hodnoty. Jeho implementačné triedy sú nasledovné:

HashMap je výkonná dátová štruktúra v jazyku Java, ktorá sa používa na ukladanie hodnôt párov kľúčov. Mapuje hodnotu pomocou priradeného kľúča. Umožňuje nám ukladať hodnoty null a kľúče null. Je to nesynchronizovaná trieda Java zber.

Implementácia mapového rozhrania

The Mapa rozhranie je možné implementovať pomocou implementačnej triedy. Zvážte nasledujúci príklad:

 import java.util.*; public class MapExample { public static void main(String args[]) { Map m = new HashMap(); //implementation of the Map Interface m.put('Abhi', new Integer(001)); //Adding elements m.put('Nick', new Integer(002)); m.put('Ketty', new Integer(003)); m.put('Paul', new Integer(004)); for (Map.Entry me : m.entrySet())// Traversing of the elements through the Map { System.out.print(me.getKey() + ':'); System.out.println(me.getValue()); } } } 

Výkon:

 Nick:2 Abhi:1 Paul:4 Ketty:3 

Implementácia triedy HashMap

Trieda HashMap môže byť deklarovaná takto:

 public class HashMap extends AbstractMap implements Map, Cloneable, Serializable 

Ak chcete implementovať HashMap, zvážte nasledujúci príklad:

 //Java program to store the key-pair values using HashMap import java.util.*; public class HashMapDemo { public static void main(String args[]){ //HashMap implementation HashMap m=new HashMap();//Creating HashMap m.put(1,'Chris'); //Adding elements in Map m.put(2,'Morris'); m.put(3,'Sam'); m.put(4,'Cruise'); System.out.println('Iterating Hashmap...'); for(Map.Entry me : m.entrySet()){ System.out.println(me.getKey()+' '+me.getValue()); } } } 

Výkon:

 Iterating Hashmap... 1 Chris 2 Morris 3 Sam 4 Cruise 

Kľúčové rozdiely medzi mapou a hashmapou

Niektoré kľúčové rozdiely medzi mapou a hashmapou sú nasledovné:

  • Mapa je rozhranie a HashMap je trieda rámca kolekcie Java.
  • Rozhranie mapy je možné implementovať pomocou jeho implementačných tried. Na porovnanie, trieda HashMap implementuje rozhranie Map.
  • Mapa obsahuje jedinečné hodnoty párov kľúčov. HashMap však môže obsahovať duplicitné hodnoty.
  • Mapa nepovoľuje hodnoty null. HashMap však môže mať jeden nulový kľúč a viacero hodnôt.
  • Mapa má dve implementácie, ktorými sú HashMap a TreeMap. Zatiaľ čo HashMap implementuje rozhranie Map a rozširuje triedu AbstractMap.
  • Medzi objektmi Map a HashMap nie je žiadny rozdiel.