Maklikste manier om 'n string in Java om te keer

Omkeer van 'n string is een van die vrae wat die meeste in 'n Java-tegniese onderhoud gevraag word. Die onderhoudvoerders kan u vra om verskillende maniere te skryf om 'n snaar om te keer, of hulle kan u vra om 'n snaar om te keer sonder om ingeboude metodes te gebruik, of hulle kan selfs vra dat u 'n snaar moet omkeer met behulp van rekursie.

Hieronder is verskillende metodes wat u kan gebruik om 'n string in Java om te keer.



Omgekeerde string in Java, maklikste manier

Die maklikste manier om 'n string in Java om te keer, is om die ingeboude reverse() te gebruik funksie van die StringBuilder klas.


Voorbeeld:

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

Verwante:




Omgekeerde tou met behulp van Recursion

'N Ander manier om 'n string in Java om te keer, is om rekursie te gebruik en die charAt() te gebruik metode van die String klas

Voorbeeld:

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

'N Variasie van bogenoemde is om die toCharArray() te gebruik en loop oor die karakters, byvoorbeeld:

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


Omgekeerde string in 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'));
} }