Wie man eine Zeichenkette in Java umkehrt

Mohammad Irfan 12 Oktober 2023
  1. Umkehrung einer Zeichenkette mit der Methode reverse() in Java
  2. Umkehrung einer Zeichenkette mit benutzerdefiniertem Code in Java
  3. Umkehrung einer Zeichenkette mit der append()-Methode in Java
  4. Umkehrung einer Zeichenkette mittels Rekursion in Java
  5. Umkehrung einer Zeichenkette mittels Stack in Java
Wie man eine Zeichenkette in Java umkehrt

Dieses Tutorial führt in die Umkehrung einer Zeichenkette in Java ein und listet einige Beispielcodes zum Verständnis auf.

Es gibt verschiedene Möglichkeiten, eine Zeichenkette umzukehren, wie die Methoden reverse(), sorted() und parallelSort(), usw. Lassen Sie uns die Beispiele sehen.

Umkehrung einer Zeichenkette mit der Methode reverse() in Java

In diesem Beispiel verwenden wir die Methode reverse() der Klasse StringBuilder, um die Zeichenkette in umgekehrter Reihenfolge zu erhalten, und wir verwenden die Methode toString(), um ein String-Objekt aus dem StringBuilder-Objekt zu erhalten. Siehe das Beispiel unten.

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);
  }
}

Ausgabe:

DelfStack
kcatSfleD

Umkehrung einer Zeichenkette mit benutzerdefiniertem Code in Java

Wenn Sie keine eingebauten Methoden verwenden möchten, dann verwenden Sie einen benutzerdefinierten Code, der die Zeichen der Zeichenkette in einer Schleife vertauscht und in einem Zeichenarray sammelt, das dann weiter in eine Zeichenkette umgewandelt wird. Siehe das Beispiel unten.

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);
  }
}

Ausgabe:

DelfStack
kcatSfleD

Umkehrung einer Zeichenkette mit der append()-Methode in Java

Dies ist ein weiterer Ansatz zur Umkehrung einer Zeichenkette in Java. Hier verwenden wir die Methoden charAt() und append() innerhalb der for-Schleife, um Zeichen in ein StringBuilder-Objekt zu holen und zu speichern. Siehe das Beispiel unten.

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);
  }
}

Ausgabe:

DelfStac
kcatSfleD

Umkehrung einer Zeichenkette mittels Rekursion in Java

Rekursion ist eine Technik, bei der sich eine Funktion immer wieder bis zum Grundzustand nennt. Wir können die Rekursion verwenden, um die Zeichenkette umzukehren, wie im untenstehenden Beispiel.

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);
  }
}

Ausgabe:

DelfStack
kcatSfleD

Umkehrung einer Zeichenkette mittels Stack in Java

Wir können die Klasse Stack verwenden, um die Zeichenkette umzukehren. Wir benutzen die push() Methode von Stack, um die Zeichen in den Stack zu sammeln und benutzen dann die pop() Methode, um die gespeicherten Zeichen in umgekehrter Reihenfolge zu holen. Siehe das Beispiel unten.

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);
  }
}

Ausgabe:

DelfStack
kcatSfleD

Verwandter Artikel - Java String