Program to convert set of String to set of Integer in Java
Last Updated :
11 Jul, 2025
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.
Program 1: Using direct conversion.
Java
// 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);
}
}
Output:
Set of String: [1, 2, 3, 4, 5]
Set of Integer: [1, 2, 3, 4, 5]
Program 2: Using generic function.
Java
// 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);
}
}
Output:
Set of String: [1, 2, 3, 4, 5]
Set of Integer: [1, 2, 3, 4, 5]