Java,如何拆分列表的元素?

标签 java arrays

我正在尝试拆分 String[] 数组的各个元素。数组看起来像

{"0 1 0 1", "0 0 1 1", "1 1 0 1",...}. 

我想用正则表达式“”(一个空格)拆分每个元素。如果我这样做,是否会将一个元素“0 1 0 1”变成 4 个元素“0”、“1”、“0”和“1”?这是我的代码,它将元素添加到列表中(从一个文本文件中读取,其中的行由空格分隔的 4 位数字),但使用“拆分”方法的部分不起作用。它对产生的阵列没有任何影响。 String[] 数组的名称被“拆分”。

    int j=0;
    String thisLine = null;

        while(((thisLine=readThrough.readLine()) != null) && j<3){
             splitted[j]= thisLine;
             splitted[j].split(" ");
             j++;
        }

最佳答案

split() 方法不会就地修改字符串,您必须将返回的 String[] 分配给某些东西.如果你想处理所有的值,尝试这样的事情:

 String[] array = {"0 1 0 1", "0 0 1 1", "1 1 0 1"};
 List<String> answer = new ArrayList<String>();

 for (String str : array)
    for (String s : str.split(" "))
        answer.add(s);

循环运行后,answer 将包含以下字符串值:

[0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1]

可选地,如果您需要将输出结果作为字符串数组,您可以这样做:

String[] output = answer.toArray(new String[answer.size()]);

关于Java,如何拆分列表的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24346300/

相关文章:

c - 如何将数组放入 int 但使用 scanf

android - 使用 Kotlin 在 Android Studio 中将 URI 的内容转换为 ByteArray

java - 如何获取列表中的所有项目

c - 为什么我们在传递二维数组作为参数时需要指定列大小?

java - 新密码连续字符大于旧密码的 3 个字符,则应抛出错误。但即使是 3 也会出错

java - 在内部服务器错误上发送电子邮件

javascript - 如何使用 onchange 事件调用函数将元素添加到数组中?

python - 如何在迭代时使用 .delete() 删除 numpy 中的特定数组?

java - jOOQ 在预期 UTC 时使用本地时区设置时间戳

java - 将两个包含不同对象的不同列表组合到第三个包含对象的列表作为两个列表的交叉连接