Најлакши начин за преокрет низа у Јави

Обртање низа је једно од најчешће постављаних питања у Јава техничком интервјуу. Испитивачи могу тражити да напишете различите начине за преокретање низа, или могу тражити да преокренете низ без употребе уграђених метода, или чак могу затражити да обрнете низ помоћу рекурзије.

Испод су разне методе помоћу којих можете обрнути низ у Јави.



Обрнути низ у Јави, најлакши начин

Најлакши начин за преокрет низа у Јави је коришћење уграђеног reverse() функција StringBuilder класа.


Пример:

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

Повезан:




Обрнути низ помоћу рекурзије

Други начин за преокрет низа у јави је коришћење рекурзије и коришћење charAt() метода String класа

Пример:

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

Варијација горе наведеног је употреба toCharArray() и пређите преко знакова, на пример:

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


Обрнути низ у Јави 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'));
} }