Java에서 문자열을 반전하는 방법

Mohammad Irfan 2023년10월12일
  1. Java에서reverse()메서드를 사용하여 문자열 반전
  2. Java에서 사용자 정의 코드를 사용하여 문자열 반전
  3. Java에서 append()메서드를 사용하여 문자열 반전
  4. Java에서 재귀를 사용하여 문자열 반전
  5. Java에서 Stack을 사용하여 문자열 반전
Java에서 문자열을 반전하는 방법

이 튜토리얼에서는 Java에서 문자열을 반전하는 방법을 소개하고이를 이해하기위한 몇 가지 예제 코드를 나열합니다.

reverse(),sorted(),parallelSort()메서드 등과 같이 문자열을 뒤집는 방법에는 여러 가지가 있습니다. 예제를 살펴 보겠습니다.

Java에서reverse()메서드를 사용하여 문자열 반전

이 예제에서는StringBuilder 클래스의reverse()메서드를 사용하여 역순으로 문자열을 가져오고toString()메서드를 사용하여StringBuilder 객체에서 문자열 객체를 가져옵니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "DelfStack";
    System.out.println(str);
    StringBuilder strb = new StringBuilder(str);
    str = strb.reverse().toString();
    System.out.println(str);
  }
}

출력:

DelfStack
kcatSfleD

Java에서 사용자 정의 코드를 사용하여 문자열 반전

내장 메서드를 사용하지 않으려면 루프를 사용하여 문자열 문자를 교체하고 추가 문자열로 변환되는 char 배열로 수집하는 사용자 지정 코드를 사용합니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "DelfStack";
    System.out.println(str);
    char[] ch = str.toCharArray();
    int begin = 0;
    int end = ch.length - 1;
    char temp;
    while (end > begin) {
      temp = ch[begin];
      ch[begin] = ch[end];
      ch[end] = temp;
      end--;
      begin++;
    }
    str = new String(ch);
    System.out.println(str);
  }
}

출력:

DelfStack
kcatSfleD

Java에서 append()메서드를 사용하여 문자열 반전

이것은 Java에서 문자열을 뒤집는 또 다른 접근 방식입니다. 여기서는 for 루프 내에서charAt()append()메서드를 사용하여 문자를StringBuilder 객체에 가져와 저장합니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "DelfStack";
    System.out.println(str);
    StringBuilder dest = new StringBuilder();
    for (int i = (str.length() - 1); i >= 0; i--) {
      dest.append(str.charAt(i));
    }
    System.out.println(dest);
  }
}

출력:

DelfStac
kcatSfleD

Java에서 재귀를 사용하여 문자열 반전

재귀는 함수가 기본 조건까지 계속해서 자신을 호출하는 기술입니다. 아래 예제와 같이 재귀를 사용하여 문자열을 반전시킬 수 있습니다.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "DelfStack";
    System.out.println(str);
    String reverseStr = reverseIt(str, str.length() - 1);
    System.out.println(reverseStr);
  }
  static String reverseIt(String str, int index) {
    if (index == 0) {
      return str.charAt(0) + "";
    }
    char letter = str.charAt(index);
    return letter + reverseIt(str, index - 1);
  }
}

출력:

DelfStack
kcatSfleD

Java에서 Stack을 사용하여 문자열 반전

Stack클래스를 사용하여 문자열을 뒤집을 수 있습니다. Stackpush()메서드를 사용하여 문자를 스택에 수집 한 다음 pop()메서드를 사용하여 저장된 문자를 역순으로 가져옵니다. 아래 예를 참조하십시오.

import java.util.Stack;
public class SimpleTesting {
  public static void main(String[] args) {
    String str = "DelfStack";
    System.out.println(str);
    Stack<Character> stack = new Stack<>();
    for (int i = 0; i < str.length(); i++) {
      stack.push(str.charAt(i));
    }
    StringBuilder strb = new StringBuilder();
    while (!stack.empty()) {
      strb.append(stack.pop());
    }
    System.out.println(strb);
  }
}

출력:

DelfStack
kcatSfleD

관련 문장 - Java String