Java Set转为Set
1. 方法一:遍历转换
第一种方法是遍历Set<String>
中的每个元素,然后将其逐个转换为Long类型,再加入到新的Set<Long>
中。以下是示例代码:
import java.util.Set;
import java.util.HashSet;
public class StringToLongConverter {
public static Set<Long> convertSet(Set<String> set) {
Set<Long> longSet = new HashSet<>();
for (String str : set) {
longSet.add(Long.parseLong(str));
}
return longSet;
}
public static void main(String[] args) {
Set<String> stringSet = new HashSet<>();
stringSet.add("123");
stringSet.add("456");
stringSet.add("789");
Set<Long> longSet = convertSet(stringSet);
System.out.println("Converted Set<Long>:");
for (Long num : longSet) {
System.out.println(num);
}
}
}
运行结果:
Converted Set<Long>:
123
456
789
2. 方法二:Java 8 Stream转换
第二种方法是利用Java 8的Stream API进行转换。我们可以利用map函数将每个String类型的元素转换为Long类型,然后使用collect函数将转换后的元素收集到新的Set<Long>
中。以下是示例代码:
import java.util.Set;
import java.util.HashSet;
public class StringToLongConverter {
public static Set<Long> convertSet(Set<String> set) {
return set.stream()
.map(Long::parseLong)
.collect(Collectors.toSet());
}
public static void main(String[] args) {
Set<String> stringSet = new HashSet<>();
stringSet.add("123");
stringSet.add("456");
stringSet.add("789");
Set<Long> longSet = convertSet(stringSet);
System.out.println("Converted Set<Long>:");
longSet.forEach(System.out::println);
}
}
运行结果与方法一相同。
通过以上两种方法,我们可以方便地将Set<String>
转换为Set<Long>
。根据实陗情况选择适合自己的方法进行转换即可。