Convert Array to HashSet in Java - GeeksforGeeks

28 Dec, 2020
The Single Data structure cannot be able to fulfill the requirements of the programmers that’s why there are a lot of inbuilt Data-Structures in Programming languages. 
Arrays are the most commonly used Data-Structure in most programming languages. The advantage of this Data-Structure is O(1) accessing the elements of the Arrays with the help of indexing but the most common disadvantages are we cannot change the size of the array after creating and the deletion of the elements is a complicated process in Arrays.
Sets: In Java, Any group of individual objects which are represented as a single unit is known as the collection of the objects. In Java, a separate framework named the “Collection Framework” has been defined in JDK 1.2 which holds all the collection classes and interface.  Sets are classified into two parts sorted set and unsorted set bot have advantage and disadvantage. Sorted Set i.e TreeSet sort its unique elements but the time-complexity of TreeSet is O(N log N) but unsorted Sets such as HashSet and LinkedSet do change the order of the elements but the difference between the HashSet and LinkedSet is Random Order of its elements.
Examples:
Input : Array: [1, 2, 3, 4, 5, 6]
Output: Set: [1, 2, 3, 4, 5, 6]
 
Input : Array: [a, b, c, d]
Output: Set: [a, b, c, d]
Approach: Brute Force or Naive Method
Create an empty set  (HashSet if unsorted elements require) Iterate the elements of the array and add one by one to the set.
Example:
// Convert array to HashSet in Javaimport java.io.*;import java.util.Iterator;// Importing Set librariesimport java.util.Set;import java.util.HashSet;  class GFG {    // Function to convert array to set    static Set<Integer> convert(int[] array)    {        // Hash Set Initialisation        Set<Integer> Set = new HashSet<>();          // Iteration using enhanced for loop        for (int element : array) {            Set.add(element);        }        // returning the set        return Set;    }      // Function to print the set    static void print(Set<Integer> Set)    {        // Implement to iterator the Set        Iterator<Integer> _iterator = Set.iterator();          // Iterate the elements of Set        while (_iterator.hasNext()) {            // print the element of the Set            System.out.print(_iterator.next() + " ");        }    }    public static void main(String[] args)      {          // Array taken for consideration        int array[] = { 1, 2, 3, 4, 5, 6 };          // Calling function to convert the array        Set<Integer> Set = convert(array);          // print the set        print(Set);    }}
1 2 3 4 5 6
Approach 2: 
Using Java 8 Stream API: HashSet constructor can take another collection object to construct a new set containing the elements of the specified array.
Get the Array to be converted.Convert the array to StreamConvert the Stream to Set using Collectors.toSet()Collect the formed set using the collect() methodReturn the formed Set.
Get the Array to be converted.
Convert the array to Stream
Convert the Stream to Set using Collectors.toSet()
Collect the formed set using the collect() method
Return the formed Set.
Example:
// Convert Array to HashSet in Java  import java.util.*;import java.util.stream.*;  class GFG {      // Generic function to convert array to set    public static <T> Set<T> convertArrayToSet(T array[])    {        // create a set from the Array        return Arrays.stream(array).collect(            Collectors.toSet());    }      public static void main(String args[])    {        // Create an Array        String array[]            = { "Geeks", "forGeeks", "A computer Portal" };          // Print the Array        System.out.println("Array: "                           + Arrays.toString(array));          // convert the Array to Set        Set<String> set = convertArrayToSet(array);          // Print the Set        System.out.println("Set: " + set);    }}
Array: [Geeks, forGeeks, A computer Portal]
Set: [A computer Portal, Geeks, forGeeks]
Java-Arrays
java-hashset
Picked
Technical Scripter 2020
Java
Java Programs
Technical Scripter
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Stream In Java
Interfaces in Java
ArrayList in Java
Initialize an ArrayList in Java
Stack Class in Java
Initializing a List in Java
Convert a String to Character Array in Java
Java Programming Examples
Convert Double to Integer in Java
Implementing a Linked List in Java using Class