बिल्ट-इन reverse() विधि
StringBuffer क्लास आपको reverse() नामक एक विधि प्रदान करती है। यह वर्तमान StringBuffer ऑब्जेक्ट के कंटेंट को उलट देती है और परिणामी StringBuffer ऑब्जेक्ट को लौटाती है। Java का उपयोग करके स्ट्रिंग को रिवर्स करने का यह सबसे आसान तरीका है। ऐसा करने के लिए:
आवश्यक स्ट्रिंग को पैरामीटर के रूप में पास करके StringBuffer क्लास को इंस्टेंशिएट करें।
बनाए गए ऑब्जेक्ट की reverse() विधि को इनवोक करें।
toString() विधि का उपयोग करके इसे फिर से स्ट्रिंग में बदलें।
उदाहरण
public class Sample {
public static void main(String args[]) {
String str = new String("Hello how are you");
StringBuffer sb = new StringBuffer(str);
String str2 = sb.reverse().toString();
System.out.println(str2);
}
}
आउटपुट
uoy era woh olleH
आइए स्ट्रिंग को रिवर्स करने के दो और तरीके देखते हैं।
रिकर्सन का उपयोग करके
रिकर्सन एक प्रक्रिया है जिसमें एक फंक्शन खुद को कॉल करता है, निम्नलिखित Java प्रोग्राम रिकर्सन का उपयोग करके स्ट्रिंग को रिवर्स करता है:
उदाहरण
public class StringReverse {
public String reverseString(String str) {
if (str.isEmpty()) {
return str;
} else {
return reverseString(str.substring(1)) + str.charAt(0);
}
}
public static void main(String[] args) {
StringReverse obj = new StringReverse();
String result = obj.reverseString("Tutorialspoint");
System.out.println(result);
}
}
आउटपुट
tniopslairotuT
toCharArray() का उपयोग करके
आप स्ट्रिंग को कैरेक्टर ऐरे में भी बदल सकते हैं और ऐरे के कैरेक्टर्स को स्वैप कर सकते हैं।
एक ऐरे को रिवर्स करने के लिए, पहले एलिमेंट को अंतिम एलिमेंट से और दूसरे एलिमेंट को अंतिम से दूसरे एलिमेंट से स्वैप करें, और इसी तरह, यदि ऐरे की लंबाई विषम है तो मध्य एलिमेंट को वैसे ही छोड़ दें।
यदि i ऐरे का पहला एलिमेंट है (ऐरे की लंबाई - i - 1) अंतिम एलिमेंट होगा, इसलिए array[i] को array[(ऐरे की लंबाई - i - 1)] से ऐरे के शुरू से मध्य बिंदु तक स्वैप करें:
उदाहरण
import java.util.Arrays;
public class StringReverse {
public static void main(String[] args) {
String str = "Tutorialspoint";
char[] myArray = str.toCharArray();
int size = myArray.length;
for (int i = 0; i < size / 2; i++) {
char temp = myArray[i];
myArray[i] = myArray[size - 1 - i];
myArray[size - 1 - i] = temp;
}
System.out.println("Array after reverse:: ");
System.out.println(Arrays.toString(myArray));
}
}
आउटपुट
Array after reverse:: [t, n, i, o, p, s, l, a, i, r, o, t, u, T]