a forma más rápida de iterar sobre todos los caracteres en una Cadena
En Java, ¿cuál sería la forma más rápida de iterar sobre todos los caracteres en una Cadena, esto:
String str = "a really, really long string";
for (int i = 0, n = str.length(); i < n; i++) {
char c = str.charAt(i);
}
O esto
char[] chars = str.toCharArray();
for (int i = 0, n = chars.length; i < n; i++) {
char c = chars[i];
}
EDIT:
o que me gustaría saber es si el costo de llamar repetidamente a lacharAt
l método @ durante una iteración larga termina siendo menor o mayor que el costo de realizar una sola llamada atoCharArray
al principio y luego acceder directamente a la matriz durante la iteración.
Sería genial si alguien pudiera proporcionar un punto de referencia sólido para diferentes longitudes de cadena, teniendo en cuenta el tiempo de calentamiento de JIT, el tiempo de inicio de JVM, etc. y no solo la diferencia entre dos llamadas aSystem.currentTimeMillis()
.