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.
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 2Mapa: 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.
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 trueIterando sobre um mapa
Para iterar sobre pares de valores-chave, podemos usar um loop for-each no conjunto de entradas (entrySet()) fornecido pelo mapa.
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}Experimente você mesmo
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.
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
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.
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
Complete o código verificando se o mapa dos países contém a chave 'FR' e imprima o resultado booleano.
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