Article image
Caio Oliveira
Caio Oliveira04/05/2023 16:36
Compartilhe

Um breve papo sobre Coleções (Pt. 4) - A Interface Map

  • #Java

Falamos até agora sobre as principais Collections do Java, no entanto, existe uma interface de grande importancia no dia a dia do desenvolvedor a qual não se encontra no pacote de Colletions. Estamos falando do Map!

A interface Map do Java é uma das principais interfaces da coleção de estruturas de dados do Java, que representa uma coleção de pares chave-valor, onde cada chave é única e mapeia para um valor correspondente. (x,y)

Principais características:

  • Armazenamento de pares chave-valor: A interface Map permite armazenar elementos como pares chave-valor. Cada elemento é identificado por uma chave única que é usada para acessar seu valor correspondente. <Chave,Valor>

Exemplo:

Podemos imaginar que o conjunto de pessoas no país pode ser descrito por um Map<RG,Pessoa> onde o RG é chave para cada pessoa.

  • Map.Entry : é uma interface interna da interface Map do Java que representa um par chave-valor em um mapa. Cada par chave-valor em um mapa é representado como um objeto Map.Entry<K, V>, onde K é o tipo da chave e V é o tipo do valor.

Ilustrando

Map<Integer, Pessoa>
- [1, {nome="Pessoa1",idade=14}] -> Map.Entry<Integer,Pessoa>
- [2, {nome="Pessoa2",idade=15}]
.
.
- [100, {nome="Pessoa1",idade=14}]

A interface Map.Entry define dois métodos principais:

  • getKey(): Retorna a chave associada a este objeto Map.Entry.
  • getValue(): Retorna o valor associado a este objeto Map.Entry.

Operações básicas:

A interface Map fornece métodos para inserir, remover e pesquisar elementos na coleção. Além disso, a Map também fornece métodos para iterar sobre suas chaves, valores ou pares chave-valor.

Suas principais implementações:

  • HashMap
  • TreeMap 
  • LinkedHashMap.

Conforme conversamos da aula de Sets, a diferença entre essas implementações estão nas estruturas de dados por trás das implementações

Principais métodos da interface Map:

  • put(K key, V value): Adiciona uma chave-valor ao mapa, substituindo qualquer valor existente para a chave especificada.
  • get(Object key): Retorna o valor associado à chave especificada, ou null se o mapa não contém a chave.
  • remove(Object key): Remove o par chave-valor associado à chave especificada, se estiver presente no mapa.
  • containsKey(Object key): Retorna true se o mapa contém a chave especificada.
  • containsValue(Object value): Retorna true se o mapa contém o valor especificado.
  • size(): Retorna o número de pares chave-valor no mapa.
  • isEmpty(): Retorna true se o mapa não contiver pares chave-valor.
  • clear(): Remove todos os pares chave-valor do mapa.
  • keySet(): Retorna um conjunto de todas as chaves no mapa.
  • values(): Retorna uma coleção de todos os valores no mapa.
  • entrySet(): Retorna um conjunto de pares chave-valor no mapa, representados como objetos Map.Entry<K, V>.
  • putAll(Map<? extends K, ? extends V> m): Adiciona todos os pares chave-valor do mapa especificado ao mapa atual.

Espero que esse artigo ajude no entendimento desta interface, e amanhã publicarei o último artigo dessa série, onde falaremos sobre Stream-API do Java.

That's All Folks!!

Compartilhe
Comentários (1)
Djair Alves
Djair Alves - 05/05/2023 00:03

Muito boa a explanação!