Program to convert set of String to set of Integer in Java

11 Dec, 2018
Java Set is a part of java.util package and extends java.util.Collection interface. It does not allow the use of duplicate elements and at max can accommodate only one null element.
A Stream is a sequence of objects that supports various methods which can be pipelined to produce the desired result. Java 8 Stream API can be used to convert Set to Set.
Algorithm:
Get the set of String.Convert Set of String to Stream of String. This is done using Set.stream().Convert Stream of String to Stream of Integer. This is done using Stream.map() and passing Integer.parseInt() method as lambda expression.Collect Stream of Integer into Set of Integer. This is done using Collectors.toSet().Return/Print the set of String.
Get the set of String.
Convert Set of String to Stream of String. This is done using Set.stream().
Convert Stream of String to Stream of Integer. This is done using Stream.map() and passing Integer.parseInt() method as lambda expression.
Collect Stream of Integer into Set of Integer. This is done using Collectors.toSet().
Return/Print the set of String.
Program 1: Using direct conversion.
// Java Program to convert// Set<String> to Set<Integer> in Java 8  import java.util.*;import java.util.stream.*;  class GFG {      public static void main(String args[])    {        // Create a set of String        Set<String> setOfString = new HashSet<>(            Arrays.asList("1", "2", "3", "4", "5"));          // Print the set of String        System.out.println("Set of String: " + setOfString);          // Convert Set of String to set of Integer        Set<Integer> setOfInteger = setOfString.stream()                                        .map(s -> Integer.parseInt(s))                                        .collect(Collectors.toSet());          // Print the set of Integer        System.out.println("Set of Integer: " + setOfInteger);    }}
Set of String: [1, 2, 3, 4, 5]
Set of Integer: [1, 2, 3, 4, 5]

Program 2: Using generic function.
// Java Program to convert// Set<String> to Set<Integer> in Java 8  import java.util.*;import java.util.stream.*;import java.util.function.Function;  class GFG {      // Generic function to convert Set of    // String to Set of Integer    public static <T, U> Set<U>    convertStringSetToIntSet(Set<T> setOfString,                             Function<T, U> function)    {        return setOfString.stream()            .map(function)            .collect(Collectors.toSet());    }      public static void main(String args[])    {          // Create a set of String        Set<String> setOfString = new HashSet<>(            Arrays.asList("1", "2", "3", "4", "5"));          // Print the set of String        System.out.println("Set of String: " + setOfString);          // Convert Set of String to set of Integer        Set<Integer> setOfInteger = convertStringSetToIntSet(            setOfString,            Integer::parseInt);          // Print the set of Integer        System.out.println("Set of Integer: " + setOfInteger);    }}
Set of String: [1, 2, 3, 4, 5]
Set of Integer: [1, 2, 3, 4, 5]

Java-Integer
java-set
Java-Set-Programs
Java-String-Programs
Java-Strings
Java
Java Programs
Java-Strings
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.