logo

Interface de mapa Java

Um mapa contém valores com base na chave, ou seja, par de chave e valor. Cada par de chave e valor é conhecido como uma entrada. Um mapa contém chaves exclusivas.

Um Mapa é útil se você precisar pesquisar, atualizar ou excluir elementos com base em uma chave.

Hierarquia de mapas Java

Existem duas interfaces para implementação de Map em java: Map e SortedMap, e três classes: HashMap, LinkedHashMap e TreeMap. A hierarquia do Java Map é fornecida abaixo:

Hierarquia de mapas Java

Um mapa não permite chaves duplicadas, mas você pode ter valores duplicados. HashMap e LinkedHashMap permitem chaves e valores nulos, mas TreeMap não permite nenhuma chave ou valor nulo.

Um Mapa não pode ser percorrido, então você precisa convertê-lo em Conjunto usando conjunto de chaves() ou conjunto de entrada() método.

AulaDescrição
HashMap HashMap é a implementação do Map, mas não mantém nenhuma ordem.
LinkedHashMapLinkedHashMap é a implementação do Map. Ele herda a classe HashMap. Ele mantém o pedido de inserção.
ÁrvoreMapa TreeMap é a implementação de Map e SortedMap. Mantém a ordem crescente.

Métodos úteis de interface do mapa

MétodoDescrição
V colocar (chave do objeto, valor do objeto)É usado para inserir uma entrada no mapa.
void putAll (mapa do mapa)É usado para inserir o mapa especificado no mapa.
V putIfAbsent(chave K, valor V)Ele insere o valor especificado com a chave especificada no mapa somente se ainda não estiver especificado.
V remover (chave do objeto)É usado para excluir uma entrada para a chave especificada.
remoção booleana (chave do objeto, valor do objeto)Ele remove os valores especificados com as chaves especificadas associadas do mapa.
Definir keySet()Ele retorna a visualização Set contendo todas as chaves.
Definirconjunto de entrada()Ele retorna a visualização Set contendo todas as chaves e valores.
vazio claro()É usado para redefinir o mapa.
V computar (tecla K, função de remapeamento BiFunction)É usado para calcular um mapeamento para a chave especificada e seu valor mapeado atual (ou nulo se não houver mapeamento atual).
V computaIfAbsent (tecla K, função de mapeamentoFunction)É usado para calcular seu valor usando a função de mapeamento fornecida, se a chave especificada ainda não estiver associada a um valor (ou estiver mapeada para nulo) e inseri-la neste mapa, a menos que seja nula.
V computaIfPresent (tecla K, função de remapeamento BiFunction)É usado para calcular um novo mapeamento dada a chave e seu valor mapeado atual se o valor da chave especificada estiver presente e não for nulo.
booleano contémValue (valor do objeto)Este método retorna verdadeiro se algum valor igual ao valor existir no mapa, caso contrário, retorna falso.
booleano contémKey (chave do objeto)Este método retorna verdadeiro se alguma chave igual à chave existir no mapa, caso contrário, retorna falso.
booleano é igual (objeto o)É usado para comparar o objeto especificado com o mapa.
void forEach (ação BiConsumer)Ele executa a ação especificada para cada entrada no mapa até que todas as entradas tenham sido processadas ou a ação gere uma exceção.
V get (chave do objeto)Este método retorna o objeto que contém o valor associado à chave.
V getOrDefault (chave do objeto, V defaultValue)Ele retorna o valor para o qual a chave especificada está mapeada ou defaultValue se o mapa não contiver nenhum mapeamento para a chave.
int hashCode()Ele retorna o valor do código hash para o mapa
booleano isEmpty()Este método retorna verdadeiro se o mapa estiver vazio; retorna falso se contiver pelo menos uma chave.
Mesclagem V (chave K, valor V, função de remapeamento BiFunction)Se a chave especificada ainda não estiver associada a um valor ou estiver associada a nulo, associa-a ao valor não nulo fornecido.
Substituição V (tecla K, valor V)Ele substitui o valor especificado por uma chave especificada.
substituição booleana (tecla K, V oldValue, V newValue)Ele substitui o valor antigo pelo novo valor de uma chave especificada.
void replaceAll (função BiFunction)Ele substitui o valor de cada entrada pelo resultado da invocação de uma determinada função nessa entrada até que todas as entradas tenham sido processadas ou a função gere uma exceção.
Valores de coleção()Ele retorna uma visão de coleção dos valores contidos no mapa.
tamanho interno()Este método retorna o número de entradas no mapa.

Interface Map.Entry

Entry é a subinterface do Map. Portanto, seremos acessados ​​pelo nome Map.Entry. Retorna uma visão de coleção do mapa, cujos elementos são desta classe. Ele fornece métodos para obter chave e valor.

Métodos de interface Map.Entry

MétodoDescrição
K getKey()É usado para obter uma chave.
V getValor()É usado para obter valor.
int hashCode()É usado para obter hashCode.
V setValue (valor V)É usado para substituir o valor correspondente a esta entrada pelo valor especificado.
booleano é igual (objeto o)É usado para comparar o objeto especificado com outros objetos existentes.
estáticoComparadorcomparandoByKey()Ele retorna um comparador que compara os objetos em ordem natural na chave.
Comparador estáticocomparandoByKey(Comparador cmp)Ele retorna um comparador que compara os objetos por chave usando o Comparador fornecido.
estáticoComparadorcomparandoByValue()Ele retorna um comparador que compara os objetos em ordem natural por valor.
Comparador estáticocomparandoByValue(Comparador cmp)Ele retorna um comparador que compara os objetos por valor usando o Comparador fornecido.

Exemplo de mapa Java: não genérico (estilo antigo)

 //Non-generic import java.util.*; public class MapExample1 { public static void main(String[] args) { Map map=new HashMap(); //Adding elements to map map.put(1,'Amit'); map.put(5,'Rahul'); map.put(2,'Jai'); map.put(6,'Amit'); //Traversing Map Set set=map.entrySet();//Converting to Set so that we can traverse Iterator itr=set.iterator(); while(itr.hasNext()){ //Converting to Map.Entry so that we can get key and value separately Map.Entry entry=(Map.Entry)itr.next(); System.out.println(entry.getKey()+' '+entry.getValue()); } } } 

Saída:

 1 Amit 2 Jai 5 Rahul 6 Amit 

Exemplo de mapa Java: genérico (novo estilo)

 import java.util.*; class MapExample2{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Elements can traverse in any order for(Map.Entry m:map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } } 

Saída:

 102 Rahul 100 Amit 101 Vijay 

Exemplo de mapa Java: comparandoByKey()

 import java.util.*; class MapExample3{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByKey()) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Saída:

 100=Amit 101=Vijay 102=Rahul 

Exemplo de mapa Java: comparandoByKey() em ordem decrescente

 import java.util.*; class MapExample4{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByKey(Comparator.reverseOrder())) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Saída:

 102=Rahul 101=Vijay 100=Amit 

Exemplo de mapa Java: comparandoByValue()

 import java.util.*; class MapExample5{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByValue()) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Saída:

 100=Amit 102=Rahul 101=Vijay 

Exemplo de mapa Java: comparandoByValue() em ordem decrescente

 import java.util.*; class MapExample6{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Saída:

 101=Vijay 102=Rahul 100=Amit