Interface de mapa Java

Neste tutorial, aprenderemos sobre a interface do Mapa Java e seus métodos.

A Mapinterface da estrutura de coleções Java fornece a funcionalidade da estrutura de dados do mapa.

Trabalho de Mapa

Em Java, os elementos de Mapsão armazenados em pares de chave / valor . Chaves são valores singulares associados individuais Valores .

Um mapa não pode conter chaves duplicadas. E cada chave está associada a um único valor.

Podemos acessar e modificar valores usando as chaves associadas a eles.

No diagrama acima, temos os valores: Estados Unidos, Brasil e Espanha. E temos as chaves correspondentes: us, br e es.

Agora, podemos acessar esses valores usando suas chaves correspondentes.

Nota: A Mapinterface mantém 3 conjuntos diferentes:

  • o conjunto de chaves
  • o conjunto de valores
  • o conjunto de associações de chave / valor (mapeamento).

Portanto, podemos acessar chaves, valores e associações individualmente.

Classes que implementam Map

Por Mapser uma interface, não podemos criar objetos a partir dela.

Para usar as funcionalidades da Mapinterface, podemos usar as seguintes classes:

  • HashMap
  • EnumMap
  • LinkedHashMap
  • WeakHashMap
  • TreeMap

Essas classes são definidas na estrutura de coleções e implementam a Mapinterface.

Java Map Subclasses

Interfaces que estendem o mapa

A Mapinterface também é estendida por estas subinterfaces:

  • SortedMap
  • NavigableMap
  • ConcurrentMap
Java Map Subinterfaces

Como usar o mapa?

Em Java, devemos importar o java.util.Mappacote para poder usar Map. Depois de importar o pacote, veja como podemos criar um mapa.

 // Map implementation using HashMap Map numbers = new HashMap(); 

No código acima, criamos um Mapnúmero nomeado. Usamos a HashMapclasse para implementar a Mapinterface.

Aqui,

  • Chave - um identificador único usado para associar cada elemento (valor) em um mapa
  • Valor - elementos associados por chaves em um mapa

Métodos de Mapa

A Mapinterface inclui todos os métodos da Collectioninterface. É porque Collectioné uma super interface de Map.

Além dos métodos disponíveis na Collectioninterface, a Mapinterface também inclui os seguintes métodos:

  • put (K, V) - Insere a associação de uma chave K e um valor V no mapa. Se a chave já estiver presente, o novo valor substituirá o valor antigo.
  • putAll () - Insere todas as entradas do mapa especificado neste mapa.
  • putIfAbsent (K, V) - Insere a associação se a chave K ainda não estiver associada ao valor V.
  • get (K) - Retorna o valor associado à chave K especificada. Se a chave não for encontrada, ela retorna null.
  • getOrDefault (K, defaultValue) - Retorna o valor associado à chave especificada K. Se a chave não for encontrada, ele retorna o defaultValue.
  • containsKey (K) - Verifica se a chave K especificada está presente no mapa ou não.
  • containsValue (V) - Verifica se o valor especificado V está presente no mapa ou não.
  • substituir (K, V) - Substitua o valor da chave K pelo novo valor especificado V.
  • substituir (K, oldValue, newValue) - Substitui o valor da chave K pelo novo valor newValue apenas se a chave K estiver associada ao valor oldValue.
  • remove (K) - Remove a entrada do mapa representada pela chave K.
  • remove (K, V) - Remove a entrada do mapa que possui a chave K associada ao valor V.
  • keySet () - Retorna um conjunto de todas as chaves presentes em um mapa.
  • values ​​() - Retorna um conjunto de todos os valores presentes em um mapa.
  • entrySet () - Retorna um conjunto de todos os mapeamentos de chave / valor presentes em um mapa.

Implementação da Interface do Mapa

1. Implementando a classe HashMap

 import java.util.Map; import java.util.HashMap; class Main ( public static void main(String() args) ( // Creating a map using the HashMap Map numbers = new HashMap(); // Insert elements to the map numbers.put("One", 1); numbers.put("Two", 2); System.out.println("Map: " + numbers); // Access keys of the map System.out.println("Keys: " + numbers.keySet()); // Access values of the map System.out.println("Values: " + numbers.values()); // Access entries of the map System.out.println("Entries: " + numbers.entrySet()); // Remove Elements from the map int value = numbers.remove("Two"); System.out.println("Removed Value: " + value); ) ) 

Resultado

 Mapa: (Um = 1, Dois = 2) Chaves: (Um, Dois) Valores: (1, 2) Entradas: (Um = 1, Dois = 2) Valor Removido: 2 

Para saber mais sobre HashMap, visite Java HashMap.

2. Implementando a classe TreeMap

 import java.util.Map; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating Map using TreeMap Map values = new TreeMap(); // Insert elements to map values.put("Second", 2); values.put("First", 1); System.out.println("Map using TreeMap: " + values); // Replacing the values values.replace("First", 11); values.replace("Second", 22); System.out.println("New Map: " + values); // Remove elements from the map int removedValue = values.remove("First"); System.out.println("Removed Value: " + removedValue); ) ) 

Resultado

 Mapa usando TreeMap: (Primeiro = 1, Segundo = 2) Novo Mapa: (Primeiro = 11, Segundo = 22) Valor Removido: 11 

Para saber mais sobre TreeMap, visite Java TreeMap.

Artigos interessantes...