将String类型的HashSet转换为Long类型的HashSet的最佳/有效方法是什么?

时间:2015-10-30 09:33:52

标签: java collections

<String>类型的HashSet转换为<Long>类型的HashSet的最佳/有效方法是什么?

2 个答案:

答案 0 :(得分:3)

Set<Long> longSet = stringSet.stream().map(s-> Long.parseLong(s))
                             .collect(Collectors.toSet());

我还没有尝试过但应该工作

答案 1 :(得分:0)

改进sidgate的答案[当处理非常大的集合时]:你可以使用parallelStream()它应该在大集合上更有效,并用方法引用替换Long.parseLong(s)。

Set<Long> longSet = stringSet.parallelStream()
                .map(Long::parseLong)
                .collect(Collectors.toSet());

[编辑]如评论中所述,只有在处理非常大的集合时才使用parallelStream(),因为它会增加大量的开销。

More on the topic