有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我试图在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) 个答案

  1. # 1 楼答案

    使用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<>();
    
  2. # 2 楼答案

    使用老式Java,您可以通过使用StringBuilder来实现:

    StringBuilder builder = new StringBuilder();
    for (Integer i : s) {
        builder.append(i);
    }
    String result = builder.toString();
    
  3. # 3 楼答案

    您可以使用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);