This tutorial illustrates examples to Convert an Array to a Set, as well as Convert a Set to an Array using Plain Java, Guava, and Apache Commons Collections API.
Tutorial Contents
Set to Array Convertion
First, we will see examples of converting a Java Set to an Array.
Using Plain Java
We can use the toArray
method on the Set to convert it to an Array.
Set<Integer> integerSet = Set.of(10, 20, 30);
Integer[] integerArray = integerSet.toArray(new Integer[0]);
Code language: Java (java)
Although, by default the method returns an array of Object class, we can pass an empty Integer array to get the results in the form of array of Integers.
Using Guava Library
Alternatively, we can use Guava API to achieve the conversion.
Set<Integer> integerSet = Set.of(10, 20, 30);
int[] integerArray = Ints.toArray(integerSet);
Code language: Java (java)
Array to Set Conversion
Now that we have seen a couple of ways to convert a Set to an Array, not we will do the other way.
Most importantly, Set is a collection of unique elements. Thus, when we convert an array with duplicate elements to Set, we find the duplicate elements are removed.
Using Plain Java
There are a few ways to convert an Array into Set. The most basic way is to use the factory methods of Set
interface. However, the factory methods produce an Immutable Set instance.
Integer[] integerArray = new Integer[]{12, 20, 30};
Set<Integer> integerSet = Set.of(integerArray);
Code language: Java (java)
Alternatively, we can first convert Array to a List and use the list to create a HashSet
. Remember, the Set we create using constructor is a mutable Set.
Integer[] integerArray = new Integer[]{12, 20, 30};
Set<Integer> integerSet = new HashSet<>(Arrays.asList(integerArray));
Code language: Java (java)
Finally, we can also create an empty set first and then populate it with array elements by using Collections
.
Integer[] integerArray = new Integer[]{12, 20, 30};
Set<Integer> integerSet = new HashSet<>();
Collections.addAll(integerSet, integerArray);
Code language: Java (java)
Using Guava Library
The Guava Library provides Set
which is a utility class. We can use Sets#newHashSet
method to create a Set from an array.
Integer[] integerArray = new Integer[]{12, 20, 30};
Set<Integer> integerSet = Sets.newHashSet(integerArray);
Code language: Java (java)
Using Apache Commons Collections Library
Lastly, we will use Apache Commons Collections Library to convert an array to a Set.
Integer[] integerArray = new Integer[]{12, 20, 30};
Set<Integer> integerSet = new HashSet<>();
CollectionUtils.addAll(integerSet, integerArray);
Code language: Java (java)
Summary
In this short tutorial we studied various way of Converting an Array to a Set and Converting a Set to an Array. We covered examples using Plain Java, Guava Library, and Apache Commons Library. For more Java Tutorials, please visit Java Tutorials.