logo

Diferença entre Mapa e HashMap

O Mapa é uma interface em Java usada para mapear os valores do par de chaves. É usado para inserir, atualizar, remover elementos. Considerando que o HashMap é uma classe de Estrutura de coleção Java .

A interface Map só pode ser usada com uma classe de implementação. Permite armazenar os valores em combinação de pares de chaves; não permite chaves duplicadas; no entanto, podemos armazenar os valores duplicados. Suas classes de implementação são as seguintes:

HashMap é uma estrutura de dados poderosa em Java usada para armazenar os valores do par de chaves. Ele mapeia um valor por sua chave associada. Isso nos permite armazenar os valores nulos e as chaves nulas. É uma classe não sincronizada de Java coleção.

Implementação da Interface do Mapa

O Mapa interface pode ser implementada usando a classe de implementação. Considere o exemplo abaixo:

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

Saída:

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

Implementação da classe HashMap

A classe HashMap pode ser declarada da seguinte forma:

 public class HashMap extends AbstractMap implements Map, Cloneable, Serializable 

Considere o exemplo abaixo para implementar o 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()); } } } 

Saída:

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

Principais diferenças entre mapa e HashMap

Algumas diferenças importantes entre o Map e o HashMap são as seguintes:

  • O Map é uma interface e HashMap é uma classe da estrutura de coleção Java.
  • A interface Map pode ser implementada usando suas classes de implementação. Em comparação, a classe HashMap implementa a interface Map.
  • O Mapa contém valores exclusivos de pares de chaves. Porém, o HashMap pode conter valores duplicados.
  • O Mapa não permite valores nulos. Mas o HashMap pode ter uma chave nula e vários valores.
  • O Mapa possui duas implementações, que são HashMap e TreeMap. Enquanto HashMap implementa a interface Map e estende a classe AbstractMap.
  • Não há diferença entre os objetos Map e HashMap.