Saltar al contenido principal
eLearner.app
Módulo 6 · Lección 1 de 211/14 en el curso~15 min
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.

Code
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.

Code
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.

Code
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
    System.out.println(entry.getKey() + " ha " + entry.getValue() + " anni.");
}

Pruébalo tú

Ejercicio#java.m6.l1.e1
Intentos: 0Cargando...

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.

Cargando editor...
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

Ejercicio#java.m6.l1.e2
Intentos: 0Cargando...

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'.

Cargando editor...
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

Ejercicio#java.m6.l1.e3
Intentos: 0Cargando...

Completa el código verificando si el mapa countries contiene la clave 'FR' e imprime el resultado booleano en pantalla.

Cargando editor...
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