logo

Rozdíl mezi mapou a hashmapou

Mapa je rozhraní v Javě používané k mapování hodnot páru klíčů. Slouží k vkládání, aktualizaci, odebírání prvků. Zatímco HashMap je třída Java kolekce framework .

Rozhraní Map lze použít pouze s implementační třídou. Umožňuje uložit hodnoty v kombinaci párů klíčů; neumožňuje duplicitní klíče; můžeme však uložit duplicitní hodnoty. Jeho implementační třídy jsou následující:

HashMap je výkonná datová struktura v Javě, která se používá k ukládání hodnot párů klíčů. Mapuje hodnotu pomocí příslušného klíče. Umožňuje nám ukládat hodnoty null a klíče null. Je to nesynchronizovaná třída Jáva sbírka.

Implementace mapového rozhraní

The Mapa rozhraní lze implementovat pomocí implementační třídy. Zvažte níže uvedený pří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ýstup:

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

Implementace třídy HashMap

Třídu HashMap lze deklarovat následovně:

 public class HashMap extends AbstractMap implements Map, Cloneable, Serializable 

Zvažte níže uvedený příklad pro implementaci HashMap:

 //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ýstup:

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

Klíčové rozdíly mezi mapou a hashmapou

Některé klíčové rozdíly mezi mapou a hashmapou jsou následující:

  • Mapa je rozhraní a HashMap je třída rámce kolekce Java.
  • Rozhraní Map lze implementovat pomocí jeho implementačních tříd. Pro srovnání, třída HashMap implementuje rozhraní Map.
  • Mapa obsahuje jedinečné hodnoty páru klíčů. HashMap však může obsahovat duplicitní hodnoty.
  • Mapa neumožňuje hodnoty null. HashMap však může mít jeden klíč null a více hodnot.
  • Mapa má dvě implementace, kterými jsou HashMap a TreeMap. Zatímco HashMap implementuje rozhraní Map a rozšiřuje třídu AbstractMap.
  • Mezi objekty Map a HashMap není žádný rozdíl.