Програма Java для видалення повторюваних елементів із ArrayList

У цьому прикладі ми навчимося перетворювати повторюваний елемент із ArrayList на Java.

Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування Java:

  • Клас Java ArrayList
  • Інтерфейс Java Set

Приклад 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 до набору
  • спорожніть список записів за допомогою 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 ()) - повертає список із потоку

Тут ми скористалися текстовим методом, щоб перетворити повернутий список у список списків.

Цікаві статті...