Hello everyone,

Greetings today!

Today we'll go over how to remove duplicate elements from a list, which is frequently needed during development.

Two approaches are provided below.

  • Making Use of HashSet
  • Using Java 8's distinct() method
Using HashSet
package com.demo;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

public class Test {

  public static void main(String[] args) {

  List<String> fruits=new ArrayList<String>();
	
  fruits.add("Apple");
  fruits.add("Mango");
  fruits.add("Apple");
  fruits.add("Grapes");

  System.out.println("List with duplicate fruits ::" + fruits);

  List<String> uniqueFruits = 
    new ArrayList<>(new HashSet<>(fruits));
	
  System.out.println("unique fruits are " + uniqueFruits);
  }
}
Because HashSet does not allow duplicates, we used HashSet to remove the duplicate element in the preceding example.

O/P

List with duplicate fruits::[Apple, Mango, Apple, Grapes]
unique fruits are [Apple, Grapes, Mango]

Using Java 8's distinct() method - the distinct method will automatically remove the duplicate element from the input stream and then collect the stream back to the list.
package com.demo;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class Test {

 public static void main(String[] args) {

 List<String> fruits=new ArrayList<String>();
		
 fruits.add("Apple");
 fruits.add("Mango");
 fruits.add("Apple");
 fruits.add("Grapes");
		
 System.out.println("List with duplicate fruits ::"+fruits);
		
 List<String> distinctFruits= fruits.stream().distinct()
 	.collect(Collectors.toList());
 
 System.out.println("Distinct fruits using java 8 ::"
 	+distinctFruits);	
 }	
}
O/P

List with duplicate fruits::[Apple, Mango, Apple, Grapes]
Distinct fruits using java 8::[Apple, Mango, Grapes]

Thanks
Enjoy your learning!

Another post you can refer to is


For spring refer to Spring Tutorial