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 :ITRemoving 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 : DevelopmentHappy Learning
Related Posts
- Resolve NullPointerException in Collectors.toMap
- Spring Collection Dependency List Example
- How to Merge Streams in Java 8
- How to Filter null values from Java8 Stream
- @Qualifier annotation example in Spring
- How to Rotate Elements in List
- How to calculate Employees Salaries Java 8 summingInt
- How to get Stream count in Java 8
- Difference between HashSet vs TreeSet in Java
- Spring Collection Map Dependency Example
- TreeSet with Customizable Sorting in Java
- Java how to convert ArrayList to Array Example
- Python How to remove duplicate elements from List
- Java 8 How to convert Stream to List
- How to convert List to Map in Java 8
Previous Next
Share a word.
FacebookTwitterRedditLinkedInTumblrPinterestVkEmail
Leave A Comment Cancel reply
Comment
Δ