Java 8 remove duplicates from List

In this tutorials, I am going to show you how to remove duplicate elements from the list using Java 8 syntax.

How to remove duplicates from list :

Here I am creating a Department class, it holds department details.

Department.java

Department.java
public class Department { private int deptId; private String deptName; public Department[int deptId, String deptName] { super[]; this.deptId = deptId; this.deptName = deptName; } public int getDeptId[] { return deptId; } public void setDeptId[int deptId] { this.deptId = deptId; } public String getDeptName[] { return deptName; } public void setDeptName[String deptName] { this.deptName = deptName; } }

We can remove the duplicate elements from a list in following 2 different ways.

Removing Duplicates by assigning List to TreeSet :

Preparing a list containing duplicate Department objects, and remove those duplicate departments using Java8 stream.

Here to remove the duplicate elements, by assigning a list to TreeSet. As TreeSet doesnt allow the duplicate elements, it removes.

RemoveDuplicates.java
import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Set; import java.util.TreeSet; import java.util.stream.Collectors; public class RemoveDuplicates { public static void main[String[] args] { List deptList = new ArrayList[]; deptList.add[new Department[1, "IT"]]; deptList.add[new Department[2, "HR"]]; deptList.add[new Department[1, "IT"]]; deptList.add[new Department[4, "Development"]]; deptList.add[new Department[2, "HR"]]; // Removing the Elements by assigning list to TreeSet Set deptSet = deptList.stream[] .collect[Collectors.toCollection[[] -> new TreeSet[Comparator.comparing[Department::getDeptName]]]]; deptSet.forEach[dept -> System.out.println["DeptId [" + dept.getDeptId[] + "] Name :" + dept.getDeptName[]]]; } }

Output :

DeptId [4] Name :Development DeptId [2] Name :HR DeptId [1] Name :IT

Removing Duplicates using removeif[]:

RemoveDuplicates.java
import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class RemoveDuplicates { public static void main[String[] args] { List deptList = new ArrayList[]; deptList.add[new Department[1, "IT"]]; deptList.add[new Department[2, "HR"]]; deptList.add[new Department[1, "IT"]]; deptList.add[new Department[4, "Development"]]; deptList.add[new Department[2, "HR"]]; Set deptSet = new HashSet[]; // directly removing the elements from list if already existed in set deptList.removeIf[p -> !deptSet.add[p.getDeptName[]]]; deptList.forEach[dept->System.out.println[dept.getDeptId[] +" : "+dept.getDeptName[]]]; } }

Output :

1 : IT 2 : HR 4 : Development

Happy Learning

Related Posts

  1. Resolve NullPointerException in Collectors.toMap
  2. Spring Collection Dependency List Example
  3. How to Merge Streams in Java 8
  4. How to Filter null values from Java8 Stream
  5. @Qualifier annotation example in Spring
  6. How to Rotate Elements in List
  7. How to calculate Employees Salaries Java 8 summingInt
  8. How to get Stream count in Java 8
  9. Difference between HashSet vs TreeSet in Java
  10. Spring Collection Map Dependency Example
  11. TreeSet with Customizable Sorting in Java
  12. Java how to convert ArrayList to Array Example
  13. Python How to remove duplicate elements from List
  14. Java 8 How to convert Stream to List
  15. How to convert List to Map in Java 8
Previous Next

Share a word.

FacebookTwitterRedditLinkedInTumblrPinterestVkEmail

Leave A Comment Cancel reply

Comment

Δ

Video liên quan

Chủ Đề