Some ways to iterate through the characters of a string in Java are:
StringTokenizer
?String
to a char[]
and iterating over that.What is the easiest/best/most correct way to iterate?
A for loop is used for iterating over a sequence (that is either a list, a tuple, a dictionary, a set, or a string).
The best way to iterate the list in terms of performance would be to use iterators ( your second approach using foreach ).
Iterate over string using for loopIterating over the string is simple using for loop and in operator i.e. sampleStr = "Hello!!"
I use a for loop to iterate the string and use charAt()
to get each character to examine it. Since the String is implemented with an array, the charAt()
method is a constant time operation.
String s = "...stuff..."; for (int i = 0; i < s.length(); i++){ char c = s.charAt(i); //Process char }
That's what I would do. It seems the easiest to me.
As far as correctness goes, I don't believe that exists here. It is all based on your personal style.
Two options
for(int i = 0, n = s.length() ; i < n ; i++) { char c = s.charAt(i); }
or
for(char c : s.toCharArray()) { // process c }
The first is probably faster, then 2nd is probably more readable.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With