Как перевернуть строку
[Как перевернуть строку]
В этой статье мы рассмотрим несколько способов, как перевернуть (инвертировать) строку.
Инвертируем строку с помощью StringBuilder
Самый простой способ, который не требует никаких дополнительных библиотек – это использовать стандартный StringBuilder:
StringBuilder sb = new StringBuilder("Привет, мир 1");
System.out.println(sb.reverse());
Результат инвертирования строки:
1 рим ,тевирП
Переворачиваем строку с помощью библиотеки StringUtils
Если в вашем проекте уже подключена библиотека StringUtils, будет удобно воспользоваться именно ею. Если вы не подключили библиотеку, это можно сделать с помощью подключения зависимости в файле pom.xml:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
Теперь, для того, чтобы вывести строку в обратном порядке, воспользуемся методом StringUtils.reverse:
String s = "Привет, мир 2"; System.out.println(StringUtils.reverse(s));
Результат:
2 рим ,тевирП
Кстати, в этом же классе есть метод StringUtils.reverseDelimited, который инвертирует строку не посимвольно, а по слова. Ему требуется указать на вход строку и разделитель между словами:
String s = "Привет, мир 2"; System.out.println(StringUtils.reverseDelimited(s, ' '));
Результат:
2 мир Привет,
Инвертируем строку с помощью массива char[]
Приведённые выша два способа инвертирования строки являются наиболее простыми, читаемыми и удобными. Но на всякий случай приведём ещё один способ с помощью массива char:
String s = "Привет, мир 3";
char[] result = s.toCharArray();
int startIndex = 0;
int endIndex = result.length - 1;
char temp;
for (; endIndex > startIndex; startIndex++, endIndex--) {
temp = result[startIndex];
result[startIndex] = result[endIndex];
result[endIndex] = temp;
}
System.out.println(result);
Здесь мы сначала преобразуем входную строку в массив символов, затем последовательно меняем символы местами, используя промежуточную переменную temp. Результат выполнения такой программы:
3 рим ,тевирП
Этот способ является более громоздким и менее удобным, поэтому рекомендуем вам использовать именно первые два способа. Тем не менее, этот вопрос может встречаться на собеседовании на позицию Junior Java Developer
Заключение
Существует множество способов инвертировать строку в Java. В данной статье мы показали наиболее удобные из них.
Как перевернуть строку
Когда требуется инвертировать строку, важно выбрать подходящий способ в зависимости от конкретной задачи. Использование StringBuilder позволяет легко и эффективно перевернуть строку без необходимости подключения дополнительных библиотек. Однако, при наличии библиотеки StringUtils, можно воспользоваться её методами, такими как reverse и reverseDelimited, для более гибкой обработки строк, включая инвертирование по словам. Вместе с простыми и читаемыми способами инвертирования строки, использование массива char также представляет собой эффективный метод выполнения данной операции.