C++을 주로 사용하다 보니 Java는 모르거나 기억이 안 나는 내용은 주로 검색을 해서 해결한다.

우선 C++에서는 문자열을 뒤집을 때 다음과 같이 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <algorithm>
#include <iostream>
#include <string>
 
int main() {
  std::string original_string("Dolpang2 Lee");
  std::string reversed_string = original_string;
 
  // String reverse
  std::reverse(reversed_string.begin(), reversed_string.end());
  std::cout << "Original string: " << original_string << "\n";
  std::cout << "Reversed string: " << reversed_string << "\n";
}

cs

algorithm 헤더를 추가하고 std::reverse를 이용해서 문자열을 간단하게 뒤집을 수 있다.

또 C++은 STL Container인 std::vector, std::list 등도 std::reverse를 이용해서 간편하게 원소를 뒤집을 수 있다.

다음은 Java에서 문자열을 뒤집는 예제이다.

1
2
3
4
5
6
7
8
9
public class Main {
  public static void main(String[] args) {
    String originalString = "Dolpang2 Lee";
    String reversedString = new StringBuilder(originalString).reverse().toString();
    
    System.out.println("Original String: " + originalString);
    System.out.println("Reversed String: " + reversedString);
  }
}
cs

StringBuilder (혹은 멀티스레드 환경에서 사용한다면 StringBuffer)에서 제공하는 reverse() method로

문자열을 뒤집을 수 있다.

C++의 std::reverse가 container 원소에 대해서 뒤집기가 가능한 것처럼

아마 Java에서도 ArrayList나 LinkedList 등 Collection Container의 원소를 뒤집을 수 있는

클래스가 존재할 것 같은데 이건 다음에 필요하면 다시 찾아봐야겠다.