Pages

How to Remove duplicates from array list?

Remove duplicates in array list?

There are different ways we can remove duplicates in array list. By using for loop, Hashset, LinkedHashset, Streams etc.,. we can remove duplicates in array list.

import java.util.ArrayList;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.stream.Collectors;
public class removeListDuplicates {
public static void main(String[] args) {
//create a list
List<String> l=new ArrayList<String>();
//add values to list
l.add("First");
l.add("Second");
l.add("Third");
l.add("Fourth");
l.add("Fifth");
l.add("Second");
l.add("Fourth");
//Final list of values
System.out.println("List="+l);
//get distinct values from list using for loop
System.out.println("<-----get distinct values from list using for loop----->");
List<String> distinct=new ArrayList<String>();
List<String> duplicate=new ArrayList<String>();
for(int i=0;i<l.size();i++) {
if(!distinct.contains(l.get(i))) {
distinct.add(l.get(i));
}else {
duplicate.add(l.get(i));
}
}
System.out.println("distinct="+distinct);
System.out.println("duplicate="+duplicate);


//get distinct values from list using HashSet
System.out.println("<-----get distinct values from list using HashSet----->");
HashSet<String> uniqueValues=new HashSet<String>(l);
System.out.println("Distinct values using hashset="+uniqueValues);


//get distinct values from list using LinkedHashSet
System.out.println("<-----get distinct values from list using Linked HashSet----->");
HashSet<String> lhs=new LinkedHashSet<String>(l);
System.out.println("Distinct values using linked hashset="+lhs);



//get distinct values from list using Java Streams
System.out.println("<-----get distinct values from list using Java Streams----->");
List<String> listDistinct =l.stream().distinct().collect(Collectors.toList());
System.out.println("List values using stream="+listDistinct);

}
}
Output:

remove duplicates from array list
Please comment below to feedback or ask questions.

No comments:

Post a Comment

Please comment below to feedback or ask questions.