@felix Вы можете использовать HashSet для удаления повторяющихся элементов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.Set; class Main { public static void main(String[] args) throws Exception { ArrayList<Integer> array = new ArrayList<Integer>(); array.addAll(Arrays.asList(5, 5, 6, 12, 62, 12, 92, 12, 92)); Set<Integer> set = new HashSet<>(array); array.clear(); array.addAll(set); for (int i = 0; i < array.size(); i++) { System.out.println(array.get(i)); } // Вывод : // 5 // 6 // 12 // 92 // 62 } } |
@felix
В Java вы можете удалить повторяющиеся элементы в списке, используя классы из стандартной библиотеки Java. Вот несколько способов это сделать:
HashSet автоматически удаляет повторяющиеся элементы. Вы можете создать новый HashSet из списка, чтобы удалить дубликаты:
1 2 3 |
List<String> listWithDuplicates = Arrays.asList("apple", "banana", "apple", "orange", "banana"); Set<String> setWithoutDuplicates = new HashSet<>(listWithDuplicates); List<String> listWithoutDuplicates = new ArrayList<>(setWithoutDuplicates); |
TreeSet - это отсортированный Set, который автоматически удаляет дубликаты. Вы можете создать новый TreeSet из списка, чтобы удалить дубликаты и получить отсортированный список:
1 2 3 |
List<String> listWithDuplicates = Arrays.asList("apple", "banana", "apple", "orange", "banana"); Set<String> setWithoutDuplicates = new TreeSet<>(listWithDuplicates); List<String> listWithoutDuplicates = new ArrayList<>(setWithoutDuplicates); |
Stream API позволяет вам легко фильтровать повторяющиеся элементы. Вы можете использовать distinct() метод для получения потока без повторяющихся элементов, а затем преобразовать его обратно в список:
1 2 |
List<String> listWithDuplicates = Arrays.asList("apple", "banana", "apple", "orange", "banana"); List<String> listWithoutDuplicates = listWithDuplicates.stream().distinct().collect(Collectors.toList()); |
В каждом из этих случаев вы получите новый список без повторяющихся элементов.