Как удалить повторяющиеся слово в строке java

Аватар пользователя Сергей Якимович
Сергей Якимович
28 ноября 2022

Если нужно убрать повторяющиеся слова полностью, то можно пойти таким путем :

String text = "Ivan Petr Ivan Egor Egor Fedor";

String modifiedText = Arrays.stream(text.split(" "))
    .collect(Collectors.toMap(s -> s, i -> 1, (a, b) -> a+b, LinkedHashMap::new))
// или .collect(Collectors.groupingBy(x -> x, LinkedHashMap::new, Collectors.counting()))
    .entrySet().stream()
    .filter(e -> e.getValue() == 1)
    .map(e -> e.getKey())
    .collect(Collectors.joining(" "));

System.out.println(modifiedText); // => Petr Fedor
1 0
Аватар пользователя Сергей Якимович
Сергей Якимович
30 ноября 2022

Еще один способ удалить повторы слова в строке - с помощью distinct() :

        String text = "Ivan Petr Ivan Egor Egor Fedor";

        String modifiedText = Arrays.stream(text.split(" "))
                .distinct()
                .collect(Collectors.joining(" "));

        System.out.println(modifiedText); // => Ivan Petr Egor Fedor
1 0
Аватар пользователя Сергей Якимович
Сергей Якимович
28 ноября 2022

Удалить повторы слова в строке можно следующим образом :

String text = "Ivan Petr Ivan Egor Egor Fedor";

String modifiedText = Arrays.stream(text.split(" "))
    .reduce("", (result, word) -> result.contains(word) ?  result : result + " " + word);

System.out.println(modifiedText); // => Ivan Petr Egor Fedor
1 0
Основы Java за 14 дней
  • 62 урока в онлайн-тренажере
  • 4 живых вебинара и масскодинг
  • Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки