Lecciones del módulo (1/2)
Set y Map
Además de la clase ArrayList (que representa una lista ordenada de elementos), el Java Collections Framework ofrece otras dos interfaces fundamentales: Set (para conjuntos de elementos únicos) y Map (para asociaciones clave-valor).
Set: Conjuntos de Elementos Únicos
Un Set es una colección que no puede contener elementos duplicados. Su implementación más común es HashSet, basada internamente en una tabla hash, que garantiza un rendimiento excelente para las operaciones de inserción, eliminación y verificación de presencia.
import java.util.HashSet;
import java.util.Set;
Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // Questo inserimento verrà ignorato poiché "Alice" è già presente
System.out.println(uniqueNames.size()); // Stampa 2
Map: Asociaciones Clave-Valor
Un Map asigna claves únicas a valores. No puede contener claves duplicadas: cada clave está asociada como máximo a un valor. Su implementación estándar es HashMap.
import java.util.HashMap;
import java.util.Map;
Map<String, Integer> ageMap = new HashMap<>();
// Inserimento o aggiornamento di coppie
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);
// Recupero del valore tramite la chiave
int aliceAge = ageMap.get("Alice"); // Ritorna 25
// Verifica della presenza di una chiave o valore
boolean hasBob = ageMap.containsKey("Bob"); // Ritorna true
Iterar sobre un Map
Para iterar sobre los pares clave-valor, podemos utilizar el bucle for-each en el conjunto de entradas (entrySet()) proporcionado por el mapa.
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
System.out.println(entry.getKey() + " ha " + entry.getValue() + " anni.");
}
Pruébalo tú
Completa el código declarando un HashSet de cadenas llamado items. Agrega los elementos 'apple', 'banana' y otra vez 'apple', luego imprime en pantalla el tamaño del conjunto usando System.out.println.
Mostrar pista
Recuerda que no se permiten duplicados en un `Set` y que `items.size()` devolverá el número real de elementos únicos insertados.
Solución disponible después de 3 intentos
Completa el código declarando una HashMap llamada ages con clave String y valor Integer. Asocia la clave 'Alice' con 25 y la clave 'Bob' con 30, luego recupera e imprime en pantalla la edad de 'Bob'.
Mostrar pista
Usa el método `put` para insertar pares y el método `get` para extraer valores según las claves.
Solución disponible después de 3 intentos
Completa el código verificando si el mapa countries contiene la clave 'FR' e imprime el resultado booleano en pantalla.
Mostrar pista
Usa el método `containsKey` en el objeto `countries` para verificar la presencia de la clave requerida.
Solución disponible después de 3 intentos