Karta je sučelje u Javi koje se koristi za mapiranje vrijednosti para ključeva. Koristi se za umetanje, ažuriranje, uklanjanje elemenata. Dok je HashMap klasa Okvir Java zbirke .
Sučelje karte može se koristiti samo s implementirajućom klasom. Omogućuje pohranjivanje vrijednosti u kombinaciji para ključeva; ne dopušta duplikate ključeva; međutim, možemo pohraniti duplicirane vrijednosti. Njegove izvedbene klase su sljedeće:
- HashMap
- Raspršena tablica
- TreeMap
- ConcurrentHashMap
- LinkedHashMap
HashMap je moćna podatkovna struktura u Javi koja se koristi za pohranu vrijednosti para ključeva. Preslikava vrijednost prema pridruženom ključu. Omogućuje nam pohranjivanje null vrijednosti i null ključeva. To je nesinkronizirana klasa Java kolekcija.
Implementacija sučelja karte
The Karta sučelje se može implementirati korištenjem izvedbene klase. Razmotrite primjer u nastavku:
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()); } } }
Izlaz:
Nick:2 Abhi:1 Paul:4 Ketty:3
Implementacija HashMap klase
Klasa HashMap može se deklarirati na sljedeći način:
public class HashMap extends AbstractMap implements Map, Cloneable, Serializable
Razmotrite primjer u nastavku za implementaciju HashMapa:
//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()); } } }
Izlaz:
Iterating Hashmap... 1 Chris 2 Morris 3 Sam 4 Cruise
Ključne razlike između Mape i HashMapa
Neke ključne razlike između karte i HashMapa su sljedeće:
- Karta je sučelje, a HashMap je klasa okvira Java zbirke.
- Sučelje karte može se implementirati korištenjem njegovih implementacijskih klasa. Za usporedbu, klasa HashMap implementira sučelje Map.
- Karta sadrži jedinstvene vrijednosti para ključeva. No, HashMap može sadržavati duplicirane vrijednosti.
- Karta ne dopušta nulte vrijednosti. Ali HashMap može imati jedan null ključ i više vrijednosti.
- Karta ima dvije implementacije, a to su HashMap i TreeMap. Dok HashMap implementira Map sučelje i proširuje AbstractMap klasu.
- Nema razlike između Map i HashMap objekata.