Я пытаюсь создать метод, который либо удалит все дубликаты из строки, либо сохранит только те же 2 символа в строке на основе параметра.Удаление дубликатов одинаковых символов в строке
Например:
helllllllo -> helo
или
helllllllo -> hello
- Это держит двойные буквы
В настоящее время я удалить дубликаты, выполнив:
private String removeDuplicates(String word) {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < word.length(); i++) {
char letter = word.charAt(i);
if (buffer.length() == 0 && letter != buffer.charAt(buffer.length() - 1)) {
buffer.append(letter);
}
}
return buffer.toString();
}
Если я хочу сохранить двойные буквы Я думал о том, что у меня есть такой метод, как private String removeDuplicates(String word, boolean doubleLetter)
Когда doubleLetter
правда он вернется hello
не helo
Я не уверен, что наиболее эффективный способ сделать это без дублирования много кода.
StringBuilder может быть немного лучше – BlackJoker
Вы можете также simly увеличивают счетчик в если цикле, и добавить еще один, если цикл, который только добавляет букву, если счетчик находится ниже порог --- это будет общая версия, работающая с любым количеством дубликатов (но вы должны убедиться, что повторно установите счетчик, как только будет проверена другая буква, чем последняя). –