El Collections Framework
HashMap<K, V> almacena pares clave-valor. put(key, value) inserta o actualiza una entrada, y get(key) la recupera — un HashMap no da ninguna garantía sobre el orden de iteración, así que el código que depende de un orden particular necesita una estructura distinta.
Main.java
Pruébalo tú mismo →import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> ages = new HashMap<>();
ages.put("Alice", 30);
ages.put("Bob", 25);
System.out.println(ages.get("Alice"));
System.out.println(ages.get("Bob"));
}
}Output
30 25
HashSet
HashSet almacena valores únicos sin duplicados — agregar un valor que ya está presente es simplemente un no-op, por eso numbers.size() abajo es 3, no 4, aunque add() se llamó cuatro veces.
Main.java
Pruébalo tú mismo →import java.util.HashSet;
public class Main {
public static void main(String[] args) {
HashSet<Integer> numbers = new HashSet<>();
numbers.add(5);
numbers.add(3);
numbers.add(5);
numbers.add(1);
System.out.println(numbers.size());
System.out.println(numbers.contains(3));
}
}Output
3 true
Siguiente: lambdas y streams — la forma moderna y de estilo funcional de Java para escribir comportamiento inline y transformar colecciones.
Practice exercise
Crea un HashMap<String, Integer> llamado ages. Pon "Alice" -> 30 y "Bob" -> 25. Imprime ages.get("Alice").