Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
15 Янв 2024
2 мин
1486

Удаление повторяющихся элементов из ArrayList в Java

Часто в процессе работы с коллекциями в Java возникает необходимость удалить повторяющиеся элементы. Рассмотрим пример: есть ArrayList<String>, который

Часто в процессе работы с коллекциями в Java возникает необходимость удалить повторяющиеся элементы. Рассмотрим пример: есть ArrayList<String>, который содержит несколько одинаковых строк. Задача состоит в том, чтобы оставить только уникальные строки, то есть удалить повторения.

ArrayList&lt;String&gt; list = new ArrayList&lt;String&gt;();
list.add("Java");
list.add("Python");
list.add("Java");
list.add("Ruby");
list.add("Python");

В данном примере, строки «Java» и «Python» повторяются два раза. В итоге, нужно получить ArrayList<String> без повторений: «Java», «Python», «Ruby».

Существует несколько способов решения данной задачи.

Использование HashSet

Один из простейших способов — использование HashSet. HashSet в Java представляет собой коллекцию, которая не содержит повторяющихся элементов. При добавлении элемента в HashSet, который уже там присутствует, он просто не будет добавлен.

Set&lt;String&gt; set = new HashSet&lt;&gt;(list);

Далее, можно преобразовать HashSet обратно в ArrayList следующим образом:

list.clear();
list.addAll(set);

В результате, ArrayList list будет содержать только уникальные строки.

Использование Stream API

В Java 8 было введено Stream API, которое также позволяет решить данную задачу. С помощью метода distinct(), который возвращает стрим без дубликатов, можно удалить повторяющиеся элементы:

List&lt;String&gt; unique = list.stream().distinct().collect(Collectors.toList());

В данном случае, создается новый ArrayList unique, который содержит только уникальные строки из list.

Оба представленных способа эффективны для удаления повторяющихся элементов из ArrayList в Java. Выбор конкретного метода зависит от конкретных условий и требований к коду.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий