代码之家  ›  专栏  ›  技术社区  ›  Maximus

如何将数字、空格和逗号字符串更改为整数数组列表

  •  0
  • Maximus  · 技术社区  · 6 年前

    我想知道如何将一个由数字、空格和逗号组成的字符串转换成一个整数数组列表。

    例如,输入为1、2、3、4、11、23 输出将是一个arraylist,其中包含相同的数字,但格式为整数,而不是字符串。

    如果有帮助的话,这是我现在所拥有的重要的一点;

    numCheck = Kd.nextLine();
            for(int i = 1; i < numCheck.length(); i++) {
                if(String.valueOf(numCheck.charAt(1)) == " ") {
                    num = numCheck.charAt(0);
                    System.out.println(num+"a");
                    nums.add(num);  
                    break;
                }
                else if((String.valueOf(numCheck.charAt(i-1))) == " "){//1 2 34
                        num = numCheck.charAt(i);
                        System.out.println(num + "b");
                        nums.add(num);  
                        i+=1;
    
                    }
                else if(String.valueOf(numCheck.charAt(i-1)) != " ")
                    {
                        numsTogether = numCheck.charAt(i-1) + "" + numCheck.charAt(i);
                        System.out.println(numsTogether + "c");
                        nums.add(Integer.parseInt(numsTogether));
                        i++;
                    }   
    

    感谢您的帮助, 谢谢。

    3 回复  |  直到 6 年前
        1
  •  2
  •   Ryuzaki L    6 年前

    通过使用Java8流,您可以在一行中实现这一点 String.trim() 将修剪所有空间和 Integer.valueOf() 将字符串更改为整数

    List<Integer> l= Arrays.stream("1, 2, 3, 4, 11, 23".split(",")).map(item->Integer.valueOf(item.trim())).collect(Collectors.toList());
        System.out.println(l);
    
        2
  •  2
  •   Elliott Frisch    6 年前

    int 然后收集到一个 List

    String numCheck = "1, 2, 3, 4, 11, 23";
    List<Integer> al = Arrays.stream(numCheck.split("\\s*,\\s*"))
            .mapToInt(Integer::parseInt).boxed()
            .collect(Collectors.toList());
    System.out.println(al);
    
        3
  •  1
  •   tom    6 年前
    1. 使用逗号拆分String.split.
    2. 使用整数值()将此元素转换为数字
    推荐文章