Cara termudah untuk Membalikkan Rentetan di Jawa

Membalikkan rentetan adalah salah satu soalan yang sering ditanya dalam temu bual teknikal Java. Pewawancara mungkin meminta anda menulis berbagai cara untuk membalikkan rentetan, atau mereka mungkin meminta anda membalikkan rentetan tanpa menggunakan kaedah bawaan, atau mereka bahkan mungkin meminta anda membalikkan rentetan menggunakan rekursi.

Berikut adalah pelbagai kaedah yang boleh anda gunakan untuk membalikkan rentetan di Java.



Rentetan Terbalik di Jawa, Cara termudah

Cara termudah untuk membalikkan rentetan di Java adalah menggunakan built-in reverse() fungsi StringBuilder kelas.


Contoh:

package io.devqa.tutorials; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {
return new StringBuilder(inputString).reverse().toString();
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }

Berkaitan:




Rentetan terbalik menggunakan Rekursi

Cara lain untuk membalikkan rentetan dalam java adalah menggunakan rekursi dan menggunakan charAt() kaedah String kelas

Contoh:

import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {

StringBuilder reverseStringBuilder = new StringBuilder();

for(int i = inputString.length() - 1; i>=0; i--){

reverseStringBuilder.append(inputString.charAt(i));
}

return reverseStringBuilder.toString();
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }

Variasi perkara di atas adalah dengan menggunakan toCharArray() dan gelung watak, contohnya:

import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {
String outString = '';
for(char c : inputString.toCharArray()) {

outString = c + outString;
}
return outString;
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }


Rentetan terbalik di Java 8

import org.junit.jupiter.api.Test; import java.util.stream.Collectors; import java.util.stream.IntStream; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {
return IntStream.range(0, inputString.length())

.mapToObj(x-> inputString.charAt((inputString.length()-1) - x))

.map(character -> String.valueOf(character))

.collect(Collectors.joining(''));
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }