package org.kodejava.util;
import java.util.*;
public class SetToArray {
public static void main(String[] args) {
// Create a java.util.Set object and add some integers into the Set.
Set<Integer> numberSet = new HashSet<>();
numberSet.add(1);
numberSet.add(2);
numberSet.add(3);
numberSet.add(5);
numberSet.add(8);
// Converting a java.util.Set into an array can be done by creating a
// java.util.List object from the Set and then convert it into an array
// by calling the toArray() method on the list object.
List<Integer> numberList = new ArrayList<>(numberSet);
Integer[] numbers = numberList.toArray(new Integer[0]);
// Display the content of numbers array.
for (int i = 0; i < numbers.length; i++) {
Integer number = numbers[i];
System.out.print(number + (i < numbers.length - 1 ? ", " : "\n"));
}
// Display the content of numbers array using the for-each loop.
for (Integer number : numbers) {
System.out.print(number + ", ");
}
}
}
Tag Archives: HashSet
How do I convert Set into List?
The code below gives you an example of converting a java.util.Set
into a java.util.List
. It has simply done by creating a new instance of List
and pass the Set
as the argument of the constructor.
package org.kodejava.util;
import java.util.*;
public class SetToList {
public static void main(String[] args) {
// Create a Set and add some objects into the Set.
Set<Object> set = new HashSet<>();
set.add("A");
set.add(10L);
set.add(new Date());
// Convert the Set to a List can be done by passing the Set instance into
// the constructor of a List implementation class such as ArrayList.
List<Object> list = new ArrayList<>(set);
for (Object o : list) {
System.out.println("Object = " + o);
}
}
}
The output of the code snippet are:
Object = A
Object = 10
Object = Mon Oct 04 20:20:26 CST 2021
How do I remove duplicate element from array?
This example demonstrates you how to remove duplicate elements from an array using the help of java.util.HashSet
class.
package org.kodejava.util;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ArrayRemoveDuplicate {
public static void main(String[] args) {
// A string array with duplicate values.
String[] data = {"A", "C", "B", "D", "A", "B", "E", "D", "B", "C"};
System.out.println("Original array : " + Arrays.toString(data));
// Convert a string array into java.util.List because we need a list
// object to create the java.util.Set object.
List<String> list = Arrays.asList(data);
// A set is a collection object that cannot have a duplicate values,
// by converting the array to a set the duplicate value will be removed.
Set<String> set = new HashSet<>(list);
// Convert the java.util.Set back to array using the toArray() method of
// the set object copy the value in the set to the defined array.
String[] result = set.toArray(new String[0]);
System.out.println("Array with no duplicate: " + Arrays.toString(result));
}
}
The result of the code snippet above:
Original array : [A, C, B, D, A, B, E, D, B, C]
Array with no duplicate: [A, B, C, D, E]
How do I convert Array to java.util.Set?
package org.kodejava.util;
import java.util.*;
public class ArrayToSetExample {
public static void main(String[] args) {
Integer[] numbers = {7, 7, 8, 9, 10, 8, 8, 9, 6, 5, 4};
// To convert an array into a java.util.Set firstly we need to convert the
// array into a java.util.List using the Arrays.asList() method. With the
// List object created we can instantiate a new java.util.HashSet and pass
// the list as the constructor parameter.
List<Integer> numberList = Arrays.asList(numbers);
Set<Integer> numberSet = new HashSet<>(numberList);
// Or we can simply combine the line above into single line.
Set<Integer> anotherNumberSet = new HashSet<>(Arrays.asList(numbers));
// Display what we get in the set using iterator.
for (Iterator<Integer> iterator = numberSet.iterator(); iterator.hasNext(); ) {
Integer number = iterator.next();
System.out.print(number + ", ");
}
// Display what we get in the set using for-each.
for (Integer number : anotherNumberSet) {
System.out.print(number + ", ");
}
}
}