¿Mejorado para que el bucle Java se ejecute hasta un índice específico?

Estoy aprendiendo cómo usar mejorado para bucles. Imagine una matriz de tamaño 1000, llamada arr. Escritura

for(T x: arr) { /* blah blah */ }

atravesará toda la matriz. Sé que puedo romper el bucle usando break;dentro del cuerpo del bucle.

¿Hay alguna manera de detener la ejecución del bucle en un valor de índice particular?

¿Es posible escribir esto?

for (T x: arr[500]) {/* blah blah */}

¿Para que pueda evitar usar un contador?

Respuesta 1

En resumen: no. Para hacer eso debes usar el forciclo "ordinario" :

for (int i = 0; i < someCondition; i++) {
  if (i < someNumber) {
    break;
  }
}
Respuesta: 2

Si desea que su ciclo mejorado se detenga en un valor de índice particular, debe realizar un seguimiento del índice usted mismo. Puedes hacer algo como a continuación:

    int index = 0;
    for(T x: arr) {
        if(index==10) {
            break();   
        }

        //do whatever you want to do here before index value becomes 10.        
        index++;

    }

Puede adoptar otros enfoques, pero esta es la forma más sencilla de hacerlo.

Respuesta: 3

puedes usar esto en lugar de tu código

for(var i=0;i<500;i++){
T x=arr[i];
 //your code

}
Respuesta: 4

Puede hacer lo siguiente, pero es preferible usar un bucle condicional en este caso.

for(T x: Arrays.copyOfRange(arr, 0, 500)) {}
Respuesta: 5

Si está en Java 8+, de hecho, podría hacer lo mismo utilizando una submatriz de la matriz fuente original

int[] subarray = IntStream.range(0, 500)
                        .map(i -> src[i])
                        .toArray();
//then do 
for (T x: subarray) {/* blah blah */}

O podría usar transmisiones lambda para lograr lo mismo:

Arrays.stream(arr).limit(500).foreach(x -> {/* blah blah */});

Respuesta: 6

Estoy tratando de analizar este HTML anidado de un sitio web, pero no puedo ver cómo averiguar cómo sacar los datos de la lista desordenada. <ul class = "lista de participantes sin viñetas" data-registrations = "...

Estoy trabajando en un programa que encuentra 2 pendientes y las compara para ver si son iguales. Estoy usando dobles para esto. Estoy descubriendo que a pesar de que mis pendientes deberían ser "iguales", están llegando ...

Comencé a escribir una nueva aplicación en Java 11 y, mientras la ejecutaba, recibí este error a continuación. Leí sobre este problema y parece que es un caso de paquete dividido. Pero no estoy seguro de cómo ...

Me entregaron una aplicación donde estos dos JAR simplemente se incluyen en el directorio lib. Por lo que puedo decir, en realidad no se distribuyen por separado de los paquetes de Java Enterprise Edition. ...