使2D数组没有固定数量的索引

时间:2014-11-12 21:20:19

标签: java arrays

我有这个2D数组[[1, 0, 0], [2, 0, 0], [3, 4, 5,], [6, 7, 0], null, [0, 0, 0]]

我想把它变成一个动态数组,这意味着我希望它是[[1], [2], [3, 4, 5], [6, 7], null, []]

以下是我尝试的代码。我似乎无法得到它。有什么建议吗?

public static int[][] getNonFixedArray(String string) {

    String[] split = string.split("\\|", -1);
    int[][] result = new int[split.length][3];

    for (int i = 0; i < split.length; i++) {
        int[] array = getNonFixedArray(split[i]);

        if (array != null) {

            for (int j = 0; j < array.length; j++) {
                result[i][j] = array[j];

                if (result[i][j] == 0) {
                    result[i][j] = Integer.parseInt(" ");
                }
            }
        } else {
            result[i] = null;
        }
    }

    return result;
}

1 个答案:

答案 0 :(得分:0)

当你浏览内部数组(第二个for循环)时,你试图用Integer.parseInt(" ");替换值为'0'的元素。无论如何,这可能会给你一个例外。可能对您有所帮助的是收集非零数字(如果您可以使用列表,则在列表中)并在第二个for循环结束后根据该数字创建一个数组。