logo

Forskellen mellem Map og HashMap

Kortet er en grænseflade i Java, der bruges til at kortlægge nøgleparværdierne. Det bruges til at indsætte, opdatere, fjerne elementerne. Hvorimod HashMap er en klasse af Java-samlingsramme .

Kortgrænsefladen kan kun bruges med en implementeringsklasse. Det giver mulighed for at gemme værdierne i nøgle-par kombination; det tillader ikke duplikerede nøgler; dog kan vi gemme de duplikerede værdier. Dens implementeringsklasser er som følger:

HashMap er en kraftfuld datastruktur i Java, der bruges til at gemme nøgleparværdierne. Den kortlægger en værdi ved dens tilknyttede nøgle. Det giver os mulighed for at gemme null-værdierne og null-nøglerne. Det er en ikke-synkroniseret klasse af Java kollektion.

Implementering af kortgrænsefladen

Det Kort interface kan implementeres ved at bruge implementeringsklassen. Overvej nedenstående eksempel:

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

Produktion:

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

Implementering af HashMap-klassen

HashMap-klassen kan erklæres som følger:

 public class HashMap extends AbstractMap implements Map, Cloneable, Serializable 

Overvej nedenstående eksempel for at implementere 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()); } } } 

Produktion:

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

Nøgleforskelle mellem Map og HashMap

Nogle vigtige forskelle mellem kortet og HashMap er som følger:

  • Kortet er en grænseflade, og HashMap er en klasse af Java-samlingsrammerne.
  • Kortgrænsefladen kan implementeres ved at bruge dens implementeringsklasser. Til sammenligning implementerer HashMap-klassen kortgrænsefladen.
  • Kortet indeholder unikke nøgleparværdier. Men HashMap kan indeholde duplikerede værdier.
  • Kortet tillader ikke nulværdier. Men HashMap kan have én null-nøgle og flere værdier.
  • Kortet har to implementeringer, som er HashMap og TreeMap. Mens HashMap implementerer Map interface og udvider AbstractMap-klassen.
  • Der er ingen forskel mellem kort- og HashMap-objekterne.