Java ArrayList to LinkedHashSet Conversion

JavaJavaBeginner
Practice Now

Introduction

In this lab, we will learn how to convert an ArrayList to a LinkedHashSet in Java. LinkedHashSet is a class that utilizes the linked list data structure to implement Set in Java, making it useful when we want to convert an array-like list to a unique collection of data. LinkedHashSet is used to collect unique data.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("`Java`")) -.-> java/ProgrammingTechniquesGroup(["`Programming Techniques`"]) java(("`Java`")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["`Object-Oriented and Advanced Concepts`"]) java(("`Java`")) -.-> java/FileandIOManagementGroup(["`File and I/O Management`"]) java(("`Java`")) -.-> java/BasicSyntaxGroup(["`Basic Syntax`"]) java(("`Java`")) -.-> java/DataStructuresGroup(["`Data Structures`"]) java(("`Java`")) -.-> java/StringManipulationGroup(["`String Manipulation`"]) java(("`Java`")) -.-> java/SystemandDataProcessingGroup(["`System and Data Processing`"]) java/ProgrammingTechniquesGroup -.-> java/scope("`Scope`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/generics("`Generics`") java/FileandIOManagementGroup -.-> java/stream("`Stream`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/arraylist("`ArrayList`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("`Classes/Objects`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/class_methods("`Class Methods`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/modifiers("`Modifiers`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/oop("`OOP`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("`Packages / API`") java/BasicSyntaxGroup -.-> java/identifier("`Identifier`") java/DataStructuresGroup -.-> java/arrays("`Arrays`") java/BasicSyntaxGroup -.-> java/comments("`Comments`") java/BasicSyntaxGroup -.-> java/data_types("`Data Types`") java/BasicSyntaxGroup -.-> java/operators("`Operators`") java/BasicSyntaxGroup -.-> java/output("`Output`") java/StringManipulationGroup -.-> java/strings("`Strings`") java/SystemandDataProcessingGroup -.-> java/system_methods("`System Methods`") subgraph Lab Skills java/scope -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/generics -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/stream -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/arraylist -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/classes_objects -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/class_methods -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/modifiers -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/oop -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/packages_api -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/identifier -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/arrays -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/comments -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/data_types -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/operators -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/output -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/strings -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} java/system_methods -.-> lab-117469{{"`Java ArrayList to LinkedHashSet Conversion`"}} end

Create an ArrayList

Create an ArrayList in Java and add a few elements to it using the add() method.

import java.util.ArrayList;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");
    }
}

Convert ArrayList to LinkedHashSet using stream API

You can use the Java 8 stream API to convert ArrayList to LinkedHashSet. The Collectors.toCollection() method collects the ArrayList elements into a LinkedHashSet to get unique elements.

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

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //ArrayList to LinkedHashSet using stream API
        LinkedHashSet<String> linkedHashSet = arrayList.stream().collect(Collectors.toCollection(LinkedHashSet::new));
    }
}

Convert ArrayList to LinkedHashSet using the add() method

You can also convert an ArrayList to LinkedHashSet by using the add() method to add elements one by one and get a collection of unique elements.

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //ArrayList to LinkedHashSet using add() method
        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>();
        for (String element : arrayList) {
            linkedHashSet.add(element);
        }
    }
}

Convert ArrayList to LinkedHashSet using the constructor

You can also get a LinkedHashSet from an ArrayList by passing it as an argument to the constructor of LinkedHashSet.

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //ArrayList to LinkedHashSet using constructor
        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(arrayList);
    }
}

Print the ArrayList and LinkedHashSet

After converting the ArrayList to LinkedHashSet, let's print both of them to verify the unique elements.

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //ArrayList to LinkedHashSet using constructor
        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(arrayList);

        //print ArrayList
        System.out.println("ArrayList: " + arrayList);

        //print LinkedHashSet
        System.out.println("LinkedHashSet: " + linkedHashSet);
    }
}

Compile and run the code

Open a terminal window and navigate to the directory where the code file is located. Compile the code using the javac command and run it using the java command.

javac ArrayListToLinkedHashSet.java
java ArrayListToLinkedHashSet

Summary

In this lab, we learned how to convert an ArrayList to a LinkedHashSet in Java using three different methods - stream API, add() method, and constructor. We also printed both the ArrayList and the LinkedHashSet to verify the unique elements.

Other Java Tutorials you may like