Pular para o conteúdo principal
Módulo 6 · Lição 1 de 211/14 no curso~15 min
Lições do módulo (1/2)

Definir e mapear

Além da classe ArrayList (que representa uma lista ordenada de elementos), o Java Collections Framework oferece duas outras interfaces fundamentais: Set (para elementos únicos) e Map (para associações de valores-chave).

Conjunto: Coleções de Elementos Únicos

Um Set é uma coleção que não pode conter elementos duplicados. Sua implementação mais comum é HashSet, baseada internamente em uma tabela hash, o que garante excelente desempenho para operações de inserção, remoção e verificação de presença.

Java
import java.util.HashSet;
import java.util.Set;

Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // This insertion will be ignored since "Alice" is already present

System.out.println(uniqueNames.size()); // Prints 2

Mapa: associações de valores-chave

Um Map mapeia chaves exclusivas para valores. Não pode conter chaves duplicadas: cada chave está associada a no máximo um valor. Sua implementação padrão é HashMap.

Java
import java.util.HashMap;
import java.util.Map;

Map<String, Integer> ageMap = new HashMap<>();
// Insert or update key-value pairs
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);

// Retrieve value by key
int aliceAge = ageMap.get("Alice"); // Returns 25

// Verify if a key or value exists
boolean hasBob = ageMap.containsKey("Bob"); // Returns true

Iterando sobre um mapa

Para iterar sobre pares de valores-chave, podemos usar um loop for-each no conjunto de entradas (entrySet()) fornecido pelo mapa.

Java
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
    System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}

Experimente você mesmo

Exercício#java.m6.l1.e1
Tentativas: 0Carregando…

Complete o código declarando um HashSet de strings denominadas items. Adicione os elementos 'apple', 'banana' e 'apple' novamente e imprima o tamanho do conjunto usando System.out.println.

Carregando editor…
Mostrar dica

Lembre-se de que duplicatas não são permitidas em um `Set` e `items.size()` retornará o número real de elementos únicos inseridos.

Solução disponível após 3 tentativas

Exercício#java.m6.l1.e2
Tentativas: 0Carregando…

Complete o código declarando um HashMap chamado age com chaves String e valores inteiros. Associe a chave 'Alice' a 25 e a chave 'Bob' a 30, depois recupere e imprima a idade de Bob.

Carregando editor…
Mostrar dica

Use o método `put` para inserir pares e o método `get` para recuperar valores com base em chaves.

Solução disponível após 3 tentativas

Exercício#java.m6.l1.e3
Tentativas: 0Carregando…

Complete o código verificando se o mapa dos países contém a chave 'FR' e imprima o resultado booleano.

Carregando editor…
Mostrar dica

Use o método `containsKey` no objeto `countries` para verificar a presença da chave necessária.

Solução disponível após 3 tentativas