Map je vmesnik v Javi, ki se uporablja za preslikavo vrednosti para ključev. Uporablja se za vstavljanje, posodabljanje, odstranjevanje elementov. Medtem ko je HashMap razred Ogrodje zbirke Java .
Vmesnik Map se lahko uporablja samo z izvedbenim razredom. Omogoča shranjevanje vrednosti v kombinaciji para ključev; ne dovoljuje podvojenih ključev; vendar lahko shranimo podvojene vrednosti. Njegovi izvedbeni razredi so naslednji:
- HashMap
- Razpršitvena tabela
- TreeMap
- ConcurrentHashMap
- LinkedHashMap
HashMap je močna podatkovna struktura v Javi, ki se uporablja za shranjevanje vrednosti para ključev. Preslika vrednost s pripadajočim ključem. Omogoča nam shranjevanje ničelnih vrednosti in ničelnih ključev. Je nesinhroniziran razred Java zbirka.
Izvedba vmesnika zemljevida
The Zemljevid vmesnik je mogoče implementirati z uporabo izvedbenega razreda. Razmislite o spodnjem primeru:
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()); } } }
Izhod:
Nick:2 Abhi:1 Paul:4 Ketty:3
Implementacija razreda HashMap
Razred HashMap je mogoče deklarirati na naslednji način:
public class HashMap extends AbstractMap implements Map, Cloneable, Serializable
Razmislite o spodnjem primeru za implementacijo 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()); } } }
Izhod:
Iterating Hashmap... 1 Chris 2 Morris 3 Sam 4 Cruise
Ključne razlike med Map in HashMap
Nekatere ključne razlike med zemljevidom in HashMapom so naslednje:
- Zemljevid je vmesnik, HashMap pa razred ogrodja zbirke Java.
- Vmesnik Map je mogoče implementirati z uporabo njegovih izvedbenih razredov. Za primerjavo, razred HashMap implementira vmesnik Map.
- Zemljevid vsebuje edinstvene vrednosti para ključev. Vendar lahko HashMap vsebuje podvojene vrednosti.
- Zemljevid ne dovoljuje ničelnih vrednosti. Toda HashMap ima lahko en ničelni ključ in več vrednosti.
- Zemljevid ima dve izvedbi, in sicer HashMap in TreeMap. Medtem ko HashMap implementira vmesnik Map in razširja razred AbstractMap.
- Med objektoma Map in HashMap ni razlike.