English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java полная коллекция примеров
В этом примере мы изучим, как удалить дублирующиеся элементы из ArrayList с помощью Java.
Чтобы понять этот пример, вам следует знать следующееJava-программированиеТема:
import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; class Main { public static void main(String[] args) { // Создание ArrayList из массива // Использование метода asList() класса Arrays ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList с повторяющимися элементами: " + numbers); // Преобразование ArrayList в набор Set<Integer> set = new LinkedHashSet<>(); set.addAll(numbers); // Удалить все элементы из ArrayList numbers.clear(); // Добавить элементы из набора в ArrayList numbers.addAll(set); System.out.println("ArrayList без повторяющихся элементов: " + numbers); } }
Результат вывода
ArrayList с повторяющимися элементами: [1, 2, 3, 4, 1, 3] ArrayList без повторяющихся элементов: [1, 2, 3, 4]
В上面的 примере мы создали список с именем numbers. ArrayList содержит повторяющиеся элементы.
Чтобы удалить повторяющиеся элементы из ArrayList, нам нужно:
Добавьте все элементы из ArrayList в набор
Используйте метод clear() для очистки ArrayList
Затем добавьте все элементы из набора в ArrayList
Здесь мы используем LinkedHashSet для создания集合а. Это потому, что он удаляет повторяющиеся элементы и сохраняет порядок вставки. Для получения дополнительной информации посетитеJava LinkedHashSet.
import java.util.ArrayList; import java.util.Arrays; import java.util.stream.Collectors; import java.util.stream.Stream; class Main { public static void main(String[] args) { // Создание ArrayList из массива // Использование метода asList() класса Arrays ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList с повторяющимися элементами: " + numbers); // Создание потока из ArrayList Stream<Integer> stream = numbers.stream(); // Вызов метода distinct() из Stream // Удаление повторяющихся элементов stream = stream.distinct(); // Преобразование потока в ArrayList numbers = (ArrayList<Integer>)stream.collect(Collectors.toList()); System.out.println("ArrayList без повторяющихся элементов: " + numbers); } }
Результат вывода
ArrayList с повторяющимися элементами: [1, 2, 3, 4, 1, 3] ArrayList без повторяющихся элементов: [1, 2, 3, 4]
В上面的 примере мы создали список с именем numbers. ArrayList содержит повторяющиеся элементы.
Здесь мы используемStreamКласс удаляет повторяющиеся элементы из arraylist.
Numbers.stream() - Создание потока из arraylist
stream.distinct() - Удаление повторяющихся элементов
stream.collect(Collectors.toList()) - Возврат списка из потока
Здесь мы используем преобразование типов, чтобы преобразовать возвращаемый список в arraylist.