Cómo salir de bucles anidados en Java? Formas eficientes de interrupción
¡Hola a todos! Soy nuevo en Java y me encontré con un problema al trabajar con bucles anidados. Tengo un array bidimensional (matriz) y estoy buscando un valor específico en él. En cuanto lo encuentro, necesito detener la búsqueda y salir de ambos bucles.
Aquí está mi código:
```java
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int target = 5;
boolean found = false;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
if (matrix[i][j] == target) {
found = true;
break; // solo sale del bucle interno
}
}
// ¡el bucle externo continúa!
}
```
Probé usar `break` — pero solo interrumpe el bucle interno, mientras que el externo sigue iterando. Debido a esto, el código se ejecuta más tiempo del necesario, y si el array es grande, es un desastre total.
Probé varios métodos: usé la bandera `found`, pero igual hay que verificarla después del bucle interno, lo cual es incómodo. Intenté usar