在Java中将Set <Integer>转换为Set <String>

Mat*_* B. 13 java string integer set

是否有一种简单的方法可以转换Set<Integer>Set<String>不迭代整个集合?

Caj*_*uke 9

不.最好的方法是循环.

HashSet<String> strs = new HashSet<String>(ints.size());
for(Integer integer : ints)
    strs.add(integer.toString());
Run Code Online (Sandbox Code Playgroud)

简单而相对快速的简单而富有表现力的东西可能是最好的.

(更新:)在Java 8中,如果你想隐藏循环,可以使用lambda表达式完成同样的事情.

HashSet<String> strs = new HashSet<>(ints.size());
ints.forEach(i -> strs.add(i.toString()));
Run Code Online (Sandbox Code Playgroud)


小智 8

使用Java8流图并收集能力:

 Set< String >  stringSet = 
   intSet.stream().map(e -> String.valueOf(e)).collect(Collectors.toSet());
Run Code Online (Sandbox Code Playgroud)


Isa*_*ett 6

不需要.您必须格式化每个整数并将其添加到字符串集中.