Sobes.tech
Junior — Middle

What methods exist for reversing the order of characters in a string?

sobes.tech AI

Answer from AI

In Java, there are several ways to reverse the order of characters in a string:

  1. Using the StringBuilder or StringBuffer class:
String original = "example";
String reversed = new StringBuilder(original).reverse().toString();
System.out.println(reversed); // elpmaxe
  1. Converting the string to a character array and manually reversing:
char[] chars = original.toCharArray();
for (int i = 0, j = chars.length - 1; i < j; i++, j--) {
    char temp = chars[i];
    chars[i] = chars[j];
    chars[j] = temp;
}
String reversedManual = new String(chars);
  1. Using streams for a more functional approach (starting from Java 8):
String reversedStream = original.chars()
    .mapToObj(c -> (char)c)
    .collect(Collectors.collectingAndThen(Collectors.toList(), list -> {
        Collections.reverse(list);
        return list.stream();
    }))
    .map(String::valueOf)
    .collect(Collectors.joining());

In practice, StringBuilder.reverse() is most often used as the simplest and most efficient method.