Программа на 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)

В приведенном выше примере мы создали массив с именем numbers. Arraylist содержит повторяющиеся элементы.

Чтобы удалить повторяющиеся элементы из arrayylist, у нас есть

  • добавить все элементы из Arraylist в набор
  • очистить arrayylist с помощью clear()метода
  • добавить все элементы из набора в Arraylist

Здесь мы использовали 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)

В приведенном выше примере мы создали массив с именем numbers. Arraylist содержит повторяющиеся элементы.

Здесь мы использовали класс Stream для удаления повторяющихся элементов из arrayylist.

  • numbers.stream () - создать поток из arrayylist
  • stream.distinct () - удаляет повторяющиеся элементы
  • stream.collect (Collectors.toList ()) - возвращает список из потока

Здесь мы использовали приведение типов, чтобы преобразовать возвращенный список в arrayylist.

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