Collections Map
Oi Cami, preciso de uma ajuda. Não consegui entender muito bem o Map, tanto que não consegui resolver o exercício da Livraria Online. Tem indicação de algum material que eu possa ver ?? Quando começou com Map, entry, e outras coisas me perdi rsrs.
Oi, @HayaneWakayama. Tudo certinho?
O Map é uma estrutura de dados que armazena pares de valores, onde cada valor é associado a uma chave única. É semelhante a um dicionário, onde você pode procurar um valor (chave) e obter o valor associado a essa chave.
O Map.Entry é uma ferramenta útil para acessar e manipular as chaves e valores de um Map durante a iteração.
Aqui está um exemplo de como criar e usar um Map em Java:
// Criar um HashMap onde a chave é uma String (nome) e o valor é um Integer (idade)
Map<String, Integer> mapaIdades = new HashMap<>();
// Adicionar pares chave-valor ao mapa
mapaIdades.put("Alice", 15);
mapaIdades.put("Camila", 29);
mapaIdades.put("Bruna", 15);
Agora, vamos supor que você queira encontrar todas as chaves (nomes) que têm o valor 15. Como fazer isso?
- Primeiro, você precisa de um laço de repetição para percorrer todo o
Mape verificar quais são as chaves que contêm o valor 15. - Para isso, você utiliza o método
keySet(). Por que usar okeySet()? Esse método permite criar um vínculo entre a chave e o valor enquanto você percorre o laço. - O método
keySet()retorna umSetde chaves. No entanto, umSetnão tem a estrutura chave-valor como umMap. É aqui que entra oMap.Entry. Ele permite "vincular" a chave ao valor, mesmo não sendo uma estrutura de Map. Assim, você consegue acessar tanto a chave quanto o valor associado.
Aqui está o código que faz isso:
// Iterar pelo mapa usando Map.Entry
for (Map.Entry<String, Integer> entry : mapaIdades.entrySet()) {
if (entry.getValue() == 15) {
System.out.println("entry.getKey() + " - " + entry.getValue() + " anos.");
}
}
Neste exemplo, iteramos pelas entradas do Map usando Map.Entry. Para cada entrada, verificamos se o valor é igual a 15 e, se for, imprimimos tanto a chave quanto o valor associado.
Enfim, te dei essa pequena demonstração, mas têm umas aulas aqui do canal DevDojo que explica mais um pouco sobre Map.
- https://youtu.be/kkHyYrfB35s?si=cIKE1l30zF9IjkDT
- https://youtu.be/4jLo3TpiS4k?si=LeuO7_kDWyA_Sf9e
- https://youtu.be/IvjlvMrwZiI?si=l7vW8Tc0oLisJFTY
- https://youtu.be/2EKe7UJLuCQ?si=AzmXqLMGQVrdXzjk
Caso você queira, depois de assistir essas aulas para consolidar os conhecimentos, posso sugerir exercícios para você treinar.
Obrigada!! Vou assistir as aulas!! Eu ficaria muito grata se puder passar os exercícios 😄