Самый быстрый способ перебора всех символов в строке



в 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().

653   0  

Comments

    Ничего не найдено.