Thursday, July 4, 2024
HomeLanguagesJavaHow to Convert an Array to LinkedHashSet in Java?

How to Convert an Array to LinkedHashSet in Java?

An array is a collection of items stored at contiguous memory locations. An array can contain primitives data types as well as objects of a class depending on the definition of the array. Whereas LinkedHashSet contains only unique elements and they are stored in the same order in which they are inserted.

Examples:

Input: arr = {"A", "B", "C", "D", "A"}
Output: LinkedHashSet = {"A", "B", "C", "D"}
LinkedHashSet does not contain repeated elements.

Input: arr = {1, 3, 5, 3, 1}
Output: LinkedHashset = {1, 3, 5}

There are several ways using which we can convert an array to an object of the LinkedHashSet in Java as given below:

1.  Using the asList method and LinkedHashSet constructor

  • The LinkedHashSet class provides a constructor that accepts a collection object.
  • But to use that, we need to convert the array to a List using the asList method of the Arrays class.

Java




// Java program to convert an array to LinkedHashSet
  
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
  
public class ArrayToLinkedHashSet {
  
    public static void main(String[] args)
    {
  
        // array of string
        String[] names
            = { "John", "Devid", "Smith", "Joe", "Stark" };
  
        // First convert the name array to List and then
        // use the LinkedHashSet constructor to convert
        // array to linkedhasset
  
        Set<String> linkedhasset_name
            = new LinkedHashSet<String>(Arrays.asList(names));
  
        System.out.println(
            "LinkedHashSet contains element: " + linkedhasset_name);
    }
}


Output

LinkedHashSet contains element: [John, Devid, Smith, Joe, Stark]

2.  Using the asList method and addAll method

  • Similar to the previous approach, we will first convert an array to a List
  • But this time instead of using the constructor, we will use addAll method to add elements from the array to a linked hash set.

Java




// Java program to convert an array to LinkedHashSet
  
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
   
public class ArrayToLinkedHashSet {
   
    public static void main(String[] args) {
          
       String[] names = {"John", "Devid", "Smith", "Joe", "Stark"};
   
      //create new empty LinkedHashSet object to store array element    
      Set<String> linkhasset_name = new LinkedHashSet<String>();
  
      //add all elements of list to LinkedHashSet
      linkhasset_name.addAll( Arrays.asList(names) );
  
      System.out.println("LinkedHashSet contains: " + linkhasset_name);
    }
}


Output

LinkedHashSet contains: [John, Devid, Smith, Joe, Stark]

3.  Using Java 8 Stream API:

  • Similar to HashSet, you can also use toCollection() method of Collectors class to convert a Stream to LinkedHashSet.
  • First, convert array to stream then convert the stream to LinkedHashSet using collection stream which only works in java 8 version.
collect( Collectors.toCollection( LinkedHashSet::new ) );

Java




// Java program to convert an array to LinkedHashSet
  
import java.io.*; 
import java.util.ArrayList; 
import java.util.LinkedHashSet;
import java.util.*; 
import java.util.stream.*;
import java.util.Set;
   
public class ArrayToLinkedHashSet {
   
    public static void main(String[] args) {
          
    String[] names = {"John", "Devid", "Smith", "Joe", "Stark"};
   
    //create new empty LinkedHashSet object    
    Set<String> linkhasset_name = new LinkedHashSet<String>();
  
    //add all elements of list to LinkedHashSet
     linkhasset_name = Arrays.stream(names).collect( Collectors.toCollection( LinkedHashSet::new ) );
  
    System.out.println("LinkedHashSet contains: " + linkhasset_name);
  
    }
}


Output

LinkedHashSet contains: [John, Devid, Smith, Joe, Stark]

4.  Using a loop or brute force

  • We can iterate through all the elements of the array using a for loop and add elements to the LinkedHashSet object one by one as given below.

Java




// Java program to convert an array to LinkedHashSet
  
import java.io.*; 
import java.util.ArrayList; 
import java.util.LinkedHashSet;
import java.util.*; 
import java.util.Set;
   
public class ArrayToLinkedHashSet {
   
    public static void main(String[] args) {
  
      String[] names = {"John", "Devid", "Smith", "Joe", "Stark"};
  
      //create new empty LinkedHashSet object    
      Set<String> linkhasset_name = new LinkedHashSet<String>();
  
      //iterate an array and add elements one by one to the linkedhasset
      for(String name : names){
          linkhasset_name.add(name);
      }
  
      System.out.println("LinkedHashSet contains: " + linkhasset_name);
    }
}


Output

LinkedHashSet contains: [John, Devid, Smith, Joe, Stark]

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments