Modificación de Lista Durante Iteración
Dificultad: Medio Java intermediate coding
List<Integer> nums = new ArrayList<>(List.of(1, 2, 3, 4));
for (Integer n : nums) {
if (n % 2 == 0) nums.remove(n);
}
System.out.println(nums); 📥 Inputs:
nums = [1, 2, 3, 4]
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo
💡 Explicación
¡TRAMPA! Al modificar una lista mientras la recorres con foreach, Java lanza ConcurrentModificationException. Aunque parece que debería quedar [1, 3], el código explota en runtime. La solución correcta es usar Iterator.remove() o streams con filter.
¿Sabías de este gotcha? Comenta cómo lo arreglarías sin que explote 💣