Самый быстрый способ перебора всех символов в строке
в Java, что бы самый быстрый способ перебирать все символы в строке, это:
String str = "a really, really long string";
for (int i = 0, n = str.length(); i < n; i++) {
char c = str.charAt(i);
}
или такой:
char[] chars = str.toCharArray();
for (int i = 0, n = chars.length; i < n; i++) {
char c = chars[i];
}
EDIT:
что я хотел бы знать, если стоимость многократного вызова charAt метод во время длинной итерации заканчивается тем, что либо меньше, либо больше, чем стоимость выполнения одного вызова toCharArray в начале, а затем непосредственно доступ к массиву во время итерация.
было бы здорово, если бы кто-то мог обеспечить надежный тест для разных длин строк, имея в виду время прогрева JIT, время запуска JVM и т. д. и не только разница между двумя вызовами System.currentTimeMillis().
Comments