Remove repeated elements from ArrayList in Java
Last Updated :
11 Dec, 2018
Improve
Try it on GfG Practice
Prerequisite: ArrayList in Java
Given an ArrayList, the task is to remove repeated elements of the ArrayList in Java.
Examples:
Input: ArrayList = [1, 2, 2, 3, 4, 4, 4] Output: [1, 2, 3, 4] Input: ArrayList = [12, 23, 23, 34, 45, 45, 45, 45, 57, 67, 89] Output: [12, 23, 34, 45, 57, 67, 89]Below are the various methods to remove repeated elements an ArrayList in Java:
- Using a Set: Since Set is a collection which do not includes any duplicate elements. Hence the solution can be achieved with the help of a Set.
Approach:
- Get the ArrayList with repeated elements.
- Convert the ArrayList to Set.
- Now convert the Set back to ArrayList. This will remove all the repeated elements.
Java // Java code to illustrate remove duolicate // of ArrayList using hashSet<> method import java.util.*; public class GFG { public static void main(String args[]) { // create a ArrayList String type ArrayList<String> gfg = new ArrayList<String>(); // Initialize an ArrayList gfg.add("Geeks"); gfg.add("for"); gfg.add("Geeks"); // print ArrayList System.out.println("Original ArrayList : " + gfg); // -----Using LinkedHashSet----- System.out.println("\nUsing LinkedHashSet:\n"); // create a set and copy all value of list Set<String> set = new LinkedHashSet<>(gfg); // create a list and copy all value of set List<String> gfg1 = new ArrayList<>(set); // print ArrayList System.out.println("Modified ArrayList : " + gfg1); // -----Using HashSet----- System.out.println("\nUsing HashSet:\n"); // create a set and copy all value of list Set<String> set1 = new HashSet<>(gfg); // create a list and copy all value of set List<String> gfg2 = new ArrayList<>(set); // print ArrayList System.out.println("Modified ArrayList : " + gfg2); } }
Output:Original ArrayList : [Geeks, for, Geeks] Using LinkedHashSet: Modified ArrayList : [Geeks, for] Using HashSet: Modified ArrayList : [Geeks, for]
- Using Java 8 Lambdas:
Approach:
- Get the ArrayList with repeated elements.
- Convert the ArrayList to Stream using stream() method.
- Set the filter condition to be distinct using distinct() method.
- Collect the filtered values as List using collect() method. This list will be with repeated elements removed
Java // Java code to illustrate remove duolicate // of ArrayList using hashSet<> method import java.util.*; import java.util.stream.Collectors; public class GFG { public static void main(String args[]) { // create a ArrayList String type ArrayList<String> gfg = new ArrayList<String>(); // Initialize an ArrayList gfg.add("Geeks"); gfg.add("for"); gfg.add("Geeks"); // print ArrayList System.out.println("Original ArrayList : " + gfg); // create a list and copy all distinct value of list List<String> gfg1 = gfg.stream() .distinct() .collect(Collectors.toList()); // print modified list System.out.println("Modified List : " + gfg1); } }
Output:Original ArrayList : [Geeks, for, Geeks] Modified List : [Geeks, for]