在Java中将字符串集转换为整数集的程序
Java Set 是Java.util 包的一部分,扩展了Java.util.Collection 接口。它不允许使用重复元素,并且最多只能容纳一个空元素。
Stream 是一系列支持各种方法的对象,这些方法可以流水线化以产生所需的结果。 Java 8 Stream API 可用于转换Set
算法:
- 获取字符串的集合。
- 将字符串集合转换为字符串流。这是使用 Set.stream() 完成的。
- 将字符串流转换为整数流。这是使用 Stream.map() 并将 Integer.parseInt() 方法作为 lambda 表达式传递来完成的。
- 将整数流收集到整数集中。这是使用 Collectors.toSet() 完成的。
- 返回/打印字符串集。
方案一:使用直接转换。
// Java Program to convert
// Set to Set in Java 8
import java.util.*;
import java.util.stream.*;
class GFG {
public static void main(String args[])
{
// Create a set of String
Set 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 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]
方案 2:使用泛型函数。
// Java Program to convert
// Set to Set 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 Set
convertStringSetToIntSet(Set setOfString,
Function function)
{
return setOfString.stream()
.map(function)
.collect(Collectors.toSet());
}
public static void main(String args[])
{
// Create a set of String
Set 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 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]