Java Reverse String

This Java example reverse the characters in a string. It uses a char array and charAt.
Reverse string. Imagine a string contains a sequence of characters. To create another version of that string, we can reverse it. This can be used to form a string key.
CharAt, String constructor. We use many parts from Java to reverse a string. We create a mutable char array buffer. We use charAt to get (in inverse order) chars from the original string.

And: We use the String constructor to create a string from the char buffer we filled in the loop.

Method example. We introduce the reverseString method. First we allocate a char array with a size equal to the string's length. Then we loop the array elements.

And: We assign the array elements to a string character indexed from the opposite (inverted) side. This reverses the characters.

Char Arrays

Finally: We create a string and return it. In main we find that the reverseString works as expected on simple strings.

Java program that reverses Strings public class Program { public static String reverseString(String value) { // Create a char buffer. char[] array = new char[value.length()]; for (int i = 0; i < array.length; i++) { // Assign to the array from the string in reverse order. // ... charAt uses an index from the last. array[i] = value.charAt(value.length() - i - 1); } return new String(array); } public static void main(String[] args) { // Test our reverse string method. String original = "abc"; String reversed = reverseString(original); System.out.println(original); System.out.println(reversed); original = "qwerty"; reversed = reverseString(original); System.out.println(original); System.out.println(reversed); } } Output abc cba qwerty ytrewq
A discussion. The Arrays class has no reverse method. This means that we must reverse these characters manually. We find a reverse() on Collections.

But: Collections.reverse would require the string be converted into a collection like an ArrayList. This would hinder performance.

ArrayList
Offset. The tricky part with the reverseString method is the indexing expression into the string. This is the argument to charAt. We use the index and count from the last index.
StringBuilder. Here is an alternative method. StringBuilder has a reverse method. We can create a StringBuilder from a string and then reverse it.StringBuilder
To conclude, string reversal is not a common requirement. But for certain problems (like key generation) or for homework assignments, it has use.
© 2007-2019 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.
HomeSearch
Home
Dot Net Perls