Java програма за премахване на дублиращи се елементи от ArrayList

В този пример ще се научим да конвертираме дублиращия се елемент от ArrayList в Java.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:

  • Клас на Java ArrayList
  • Интерфейс за задаване на Java

Пример 1: Премахнете дублиращи се елементи от ArrayList, като използвате Set

 import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; class Main ( public static void main(String() args) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // convert the arraylist into a set Set set = new LinkedHashSet(); set.addAll(numbers); // delete al elements of arraylist numbers.clear(); // add element from set to arraylist numbers.addAll(set); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Изход

 ArrayList с дублиращи се елементи: (1, 2, 3, 4, 1, 3) ArrayList без дублиращи се елементи: (1, 2, 3, 4)

В горния пример създадохме списък с имена с числа. Списъкът съдържа дублиращи се елементи.

За да премахнем дублиращи се елементи от списъка с паралели, имаме

  • добавете всички елементи от arraylist към set
  • изпразнете списъка с аргументи, като използвате clear()метод
  • добавете всички елементи от набор към списък с паралели

Тук използвахме, за LinkedHashSetда създадем набор. Това е така, защото премахва дублиращите се елементи и поддържа реда на вмъкване. За да научите повече, посетете Java LinkedHashSet.

Пример 2: Премахнете дублиращи се елементи от ArrayList, като използвате Stream

 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) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // create a stream from arraylist Stream stream = numbers.stream(); // call the distinct() of Stream // to remove duplicate elements stream = stream.distinct(); // convert the stream to arraylist numbers = (ArrayList)stream.collect(Collectors.toList()); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Изход

 ArrayList с дублиращи се елементи: (1, 2, 3, 4, 1, 3) ArrayList без дублиращи се елементи: (1, 2, 3, 4)

В горния пример създадохме списък с имена с числа. Списъкът съдържа дублиращи се елементи.

Тук използвахме класа Stream за премахване на дублиращи се елементи от списъка с паралели.

  • numbers.stream () - създава поток от списъка с паралели
  • stream.distinct () - премахва дублиращи се елементи
  • stream.collect (Collectors.toList ()) - връща списък от потока

Тук използвахме typecasting за преобразуване на върнатия списък в списък с паралели.

Интересни статии...