Como implementar a interface do mapa em Java?



Este artigo sobre Java Map Inteface ajudará você a entender como o Map funciona em Java e apresenta as diferentes classes que implementam a Interface do Mapa

Um dos tópicos mais interessantes em Java é a interface do mapa querepresenta um mapeamento entre uma chave e um valor.Muitas vezes é mal interpretado como um subtipo de interface em Java.Este artigo sobre Java Map Interface ajudará você a entender e dominar como um mapa funciona em .

Listados abaixo estão os tópicos abordados neste artigo:





Interface de mapa Java

Um mapa em Java é um objeto que mapeia chaves para valores e é projetado para pesquisas mais rápidas. Os dados são armazenados em pares de valores-chave e cada chave é única. Cada tecla mapeia para um valor, daí o nome do mapa. Esses pares de valores-chave são chamados de entradas de mapa.

Mapas em Java - Interface de mapa Java - Edureka



No , java.util.Map é um que inclui assinaturas de método para inserção, remoção e recuperação de elementos com base em uma chave. Com esses métodos, é uma ferramenta perfeita para usar no mapeamento de associação de valores-chave, como dicionários.

Características da interface do mapa

  • A interface do mapa não é um subtipo verdadeiro da interface de coleção, portanto,suas características e comportamentos são diferentes dos demais tipos de coleção.
  • Fornecetrês visualizações de coleção - conjunto de chaves, conjunto de mapeamentos de valores-chave e coleção de valores.
  • PARAMapanão pode conter chaves duplicadas e cada chave pode ser mapeada para no máximo um valor. Algumas implementações permitem chave nula e valor nulo ( HashMap e LinkedHashMap ) mas alguns não ( TreeMap).
  • A interface do mapa não garante a ordem dos mapeamentos, no entanto, depende da implementação. Por exemplo, HashMap não garante a ordem dos mapeamentos, mas TreeMap faz.
  • A classe AbstractMap fornece uma implementação esquelética da interface do Java Map e a maior parte do concreto do Map Aulas estenda a classe AbstractMap e implemente os métodos necessários.

Agora que você tem uma ideia de qual interface de mapa é, vamos em frente e verificar a hierarquia do Java Map.

Hierarquia do mapa Java

Existem duas interfaces que implementam o Map em java: Map e SortedMap. E as classes de implementação populares de Map em Java são HashMap, TreeMap e LinkedHashMap. A hierarquia do Java Map é fornecida abaixo:



Antes de verificarmos as três classes de implementação da Interface do Mapa Java mencionadas acima, aqui estão alguns métodos comuns que você pode encontrar ao trabalhar com o Mapa.

Métodos na interface de mapa Java

Métodos

como elevar algo a um poder em java

Descrição

public put (chave do objeto, valor do objeto)Este método insere uma entrada no mapa
públicovoid putAll (mapa do mapa)Este método insere o mapa especificado neste mapa
public Object remove (Object key)É usado para deletar uma entrada para a chave especificada
public Set keySet ()Ele retorna a visualização Set contendo todas as chaves
public Set entrySet ()Ele retorna a visualização Set contendo todas as chaves e valores
void clear ()É usado para reiniciar o mapa
public void putIfAbsent (chave K, valor V)Ele insere o valor especificado com a chave especificada no mapa apenas se ainda não estiver especificado
public Object get (chave do objeto)Ele retorna o valor da chave especificada
public boolean containsKey (chave do objeto)
É usado para pesquisar a chave especificada neste mapa

Implementações de Mapa

Existem vários que implementam o Java Mapmas três implementações principais e de propósito geral sãoHashMap, TreeMap e LinkedHashMap.Vamos ver as características e comportamentos de cada implementação com um exemplo

Classe HashMap

A classe mais comum que implementa a interface Java Map é o HashMap. É uma implementação baseada em hash table da interface Map.Ele implementa todas as operações do mapae permite valores nulos e uma chave nula. Além disso, essa classe não mantém nenhuma ordem entre seus elementos. Aqui está um programa de exemplo que demonstra a classe HashMap.

package MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Mapear cursos = new HashMap () // Adicionar alguns cursos. cursos.put ('Cursos Java', novo Inteiro (6)) cursos.put ('Cursos em nuvem', novo Inteiro (7)) cursos.put ('Cursos de programação', novo Inteiro (5)) cursos.put (' Cursos de ciência de dados ', novo Inteiro (2)) System.out.println (' Total de cursos: '+ cursos.size ()) Definirst =ourses.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Cursos Java' if (ourses.containsKey (searchKey)) System.out.println ('Total encontrado' + cursos.get (searchKey) + '' + searchKey)}}

Resultado

Total de cursos: 4 Cursos em Nuvem: 7 Cursos de Programação: 5 Cursos de Ciência de Dados: 2 Cursos Java: 6 Total de 6 Cursos Java encontrados

No programa acima, usei muitos métodos mencionados na tabela. Em primeiro lugar, o colocar() método insere 4 entradas no mapa, e o Tamanho() método na próxima etapa exibe o tamanho do mapa (pares de chave-valor total). Depois disso, na próxima etapa, o entrySet () método retorna todos os pares de valor-chave. O programa também mostra como fazer uso de obter() método para pesquisar um valor usando a chave associada.

Vamos passar para a próxima classe que implementa a interface de mapa Java - TreeMap.

Classe TreeMap

Esta implementação usa a árvore Red-Black como base estrutura de dados . Um TreeMap é classificado de acordo com a ordem natural de suas chaves ou por um Comparador fornecido no momento da criação. Esta implementação não permite nulos, mas mantémordem em seus elementos. Aqui está um programa de exemplo que demonstra a classe TreeMap.

package MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Mapear cursos = new TreeMap () // Adicionar alguns cursos. cursos.put ('Cursos Java', novo Inteiro (3)) cursos.put ('Cursos AWS', novo Inteiro (7)) cursos.put ('Cursos de programação', novo Inteiro (8)) cursos.put (' Cursos de ciência de dados ', novo Inteiro (2)) System.out.println (' Total de cursos: '+ cursos.size ()) Definirst =ourses.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Resultado

Total de cursos: 4 Cursos AWS: 7 Cursos de Ciência de Dados: 2 Cursos Java: 3 Cursos de Programação: 8

Na saída, os elementos do mapa são impressos em uma ordem lexicográfica estrita, que não aparece nos exemplos anteriores de HashMap. A próxima aula que vamos discutir é LinkedHashMap .

Classe LinkedHashMap

Como o nome indica, esta implementação da interface Java Map usa uma tabela hash e uma lista vinculada como estruturas de dados subjacentes. Assim, a ordem de um LinkedHashMap éprevisível, com o pedido de inserção como o pedido padrão. Além disso, permite nulos como em HashMap. Aqui está um programa de exemplo que demonstra a classe TreeMap.

package MyPackage import java.util. * public class LinkedHashMapExample {public static void main (String a []) {LinkedHashMap courses = new LinkedHashMap ()ourses.put ('Java Courses', new Integer (3)) courses.put (' Cloud Courses ', new Integer (7)) courses.put (' Programming Courses ', new Integer (8)) courses.put (' Data Science Courses ', new Integer (2)) // Imprime os elementos na mesma ordem // conforme foram inseridos System.out.println (cursos) System.out.println ('Total de cursos:' + cursos.size ()) System.out.println ('Contém a chave' Hadoop '?' + cursos.containsKey ('Hadoop')) System.out.println ('Obtendo valor para a chave' Cursos de programação ':' +ourses.get ('Cursos de programação')) System.out.println ('O mapa está vazio?' +ourses.isEmpty ()) System.out.println ('delete element' Cloud Courses ':' + courses.remove ('Cloud Courses')) System.out.println (cursos)}}

Resultado

{Cursos Java = 3, Cursos na nuvem = 7, Cursos de programação = 8, Cursos de ciência de dados = 2} Total de cursos: 4 Contém a chave 'Hadoop'? false Obtendo valor para a chave 'Cursos de programação': 8 O mapa está vazio? false delete elemento 'Cloud Courses': 7 {Java Courses = 3, Programming Courses = 8, Data Science Courses = 2}

O programa de exemplo é bastante simples de entender. Usei alguns métodos básicos para demonstrar o funcionamento do LinkeHashMap em Java. Como eu disse antes, além dessas três, há muitas outras classes que implementam a interface Java Map.

Isso nos leva ao final deste artigo 'Interface do mapa Java'. Cobri um dos tópicos interessantes de Java, que é a interface do mapa em Java.

Pratique o máximo possível e reverta sua experiência.

Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. Estamos aqui para ajudá-lo em todas as etapas de sua jornada, para nos tornarmos, além dessas perguntas da entrevista java, um currículo que é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java.

Tem alguma questão para nós? Mencione-o na seção de comentários desta ‘interface do Java Map’ artigo e entraremos em contato com você o mais breve possível.