Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the easiest/best/most correct way to iterate through the characters of a string in Java?

Some ways to iterate through the characters of a string in Java are:

  1. Using StringTokenizer?
  2. Converting the String to a char[] and iterating over that.

What is the easiest/best/most correct way to iterate?

like image 697
Paul Wicks Avatar asked Oct 13 '08 06:10

Paul Wicks


People also ask

What type of a structure is the best way to iterate through the characters of a string python?

A for loop is used for iterating over a sequence (that is either a list, a tuple, a dictionary, a set, or a string).

What is the best way to iterate a list?

The best way to iterate the list in terms of performance would be to use iterators ( your second approach using foreach ).

Can you use a for loop to iterate over the characters in a string?

Iterate over string using for loopIterating over the string is simple using for loop and in operator i.e. sampleStr = "Hello!!"


2 Answers

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.

like image 154
jjnguy Avatar answered Oct 03 '22 20:10

jjnguy


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.

like image 34
Dave Cheney Avatar answered Oct 03 '22 22:10

Dave Cheney