example ejemplo java iteration

ejemplo - Taquigrafía iterada de enteros de Java



iterator vs foreach java (5)

No es tan obvio, pero es mucho más rápido , ya que la división generalmente se ejecuta más lentamente que cualquier operación a nivel de bits.

corner = ++corner & 3;

EDITAR: Y, sorprendentemente, descubrí una manera más impresionante de hacer ciclismo: usar turnos, ¡y se ejecuta aún más rápido!

corner = ++corner << 30 >>> 30;

Y este truco solo funciona para cualquier potencia de 2.

Este punto de referencia muestra todos los resultados (aunque es javascript, no java)

Al codificar me encuentro haciendo lo siguiente muy a menudo:

corner++; if(corner == 4) corner = 0;

¿Hay de todos modos hacer esto en una línea?

En este ejemplo, la esquina debe ser 0, 1, 2, 3, 0, 1, 2, 3, 0 ....


Puede usar esta línea corta y fácil de leer ( Demo ):

corner = (corner + 1) % 4;

O incluso un poquito más corto ( Demo ):

corner = ++corner % 4;


Puedes hacerlo:

corner = ++corner == 4 ? 0 : corner;

Esto le daría la posibilidad de asignar algo más a la variable de corner en caso de que su prueba de corner == 4 no haya pasado.


Utilizar el resto. Son dos líneas pero limpias.

corner++; corner %= 4;


Yo suelo:

if (++corner == 4) corner = 0;