Remove duplicate object in list java

Java Program to Remove duplicate elements from ArrayList

In this example, we will learn to convert the duplicate element from the ArrayList in Java.

To understand this example, you should have the knowledge of the following Java programming topics:

  • Java ArrayList Class
  • Java Set Interface

Example 1: Remove duplicate elements from ArrayList using 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]; } }

Output

ArrayList with duplicate elements: [1, 2, 3, 4, 1, 3] ArrayList without duplicate elements: [1, 2, 3, 4]

In the above example, we have created an arraylist named numbers. The arraylist contains duplicate elements.

To remove duplicate elements from the arraylist, we have

  • add all elements from arraylist to set
  • empty the arraylist using clear[] method
  • add all elements from set to arraylist

Here, we have used the LinkedHashSet to create a set. It is because it removes the duplicate elements and maintains insertion order. To learn more, visit Java LinkedHashSet.

Example 2: Remove duplicate elements from ArrayList using 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]; } }

Output

ArrayList with duplicate elements: [1, 2, 3, 4, 1, 3] ArrayList without duplicate elements: [1, 2, 3, 4]

In the above example, we have created an arraylist named numbers. The arraylist contains duplicate elements.

Here, we have used the Stream class to remove duplicate elements from the arraylist.

  • numbers.stream[] - create a stream from the arraylist
  • stream.distinct[] - removes duplicate elements
  • stream.collect[Collectors.toList[]] - returns a list from the stream

Here, we have used typecasting to convert the returned list into an arraylist.

Video liên quan

Chủ Đề