繁体   English   中英

在Java中将字符串拆分为整数列表

[英]Splitting a string to a list of integers in java

我想分割一个字符串形式:

" 42 2152 12 3095 2" 

进入整数列表,但是当我使用.split(" ")函数时,由于开头是空白,所以开头是空的""元素。 有没有办法在没有空元素的情况下拆分它?

您可以使用String.trim从原始字符串中删除String.trim和结尾的空格

String withNoSpace = " 42 2152 12 3095 2".trim();

在对数组调用split之前,请使用String.trim()函数。 这将删除原始字符串之前和之后的所有空格

例如:

    String original = " 42 2152 12 3095 2"; 
    original = original.trim();
    String[] array = original.split(" ");

为了使代码更整洁,您还可以将其编写为:

    String original = " 42 2152 12 3095 2"; 
    String[] array = original.trim().split(" ");

如果我们打印出数组:

    for (String s : array) {
        System.out.println(s);
     }

输出为:

42
2152
12
3095
2

希望这可以帮助。

您可以使用Scanner ,它将一次从字符串读取一个整数

Scanner scanner = new Scanner(number);
List<Integer> list = new ArrayList<Integer>();
while (scanner.hasNextInt()) {
    list.add(scanner.nextInt());
}

根据上述答案,您正在询问所有这些方法之间的性能差异:

所有这些都将与O(n)一起运行,没有真正的性能差异。

实际上,首先像这样分割字符串,然后将它们添加到集合中将包含2 x O(n)个循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM