在java中将整数集转换为字符串

时间:2018-05-19 16:15:33

标签: java string set

我正在尝试将一组整数转换为Java中的单个字符串。我怎么能这样做?

 Set<Integer> s = new HashSet<>();
        s.add(1);
        s.add(3);

        int n = s.size();
        String arr[] = new String[n];

        arr = s.toArray(arr);

        for (String x : arr )
            System.out.println(x);

3 个答案:

答案 0 :(得分:4)

使用joining

String result = s.stream().map(String::valueOf).collect(joining());

没有Stream

List<String> intString = new ArrayList<>();
for (Integer i : s) {
   intString.add(String.valueOf(i));
} 

String result = String.join("", intString);

但请注意,如果您想按输入顺序打印这些数字(首先会先打印),那么您需要LinkedHashSet来记住该顺序:

Set<Integer s = new LinkedHashSet<>();

答案 1 :(得分:2)

使用老式Java,您可以使用StringBuilder

来完成
StringBuilder builder = new StringBuilder();
for (Integer i : s) {
    builder.append(i);
}
String result = builder.toString();

答案 2 :(得分:0)

您可以使用Integer.toString()将每个整数转换为字符串,然后将其附加到StringBuilder(还在其间添加一个空格以分隔整数)。然后,您可以将StringBuilder转换为String并修剪它(以删除尾随空格)。

Set<Integer> s = new HashSet();
s.add(1);
s.add(3);
StringBuilder sb = new StringBuilder();
for(int x : s) {
    sb.append(Integer.toString(x));
    sb.append(" ");
}
String st = sb.toString();
st = st.trim();
System.out.print(st);