如何将多个单个数组连接成一个大型单个数组

时间:2015-01-26 20:03:53

标签: java arrays

所以我从文本文件的多行收集了令牌,并将这些令牌放入一个名为令牌的数组中。使用此代码。

    scanner = new Scanner(file);
        while (scanner.hasNextLine()) {
            if ((line = scanner.nextLine()).charAt(0) != '#') {
                tokens = line.split(",");
            }
        }

(全部在try catch块中)

我需要将所有这些String标记放入一个数组中,我该怎么做呢。 我的新数组是stringTokens [] = new String [countLines * 4]。

while循环在每次迭代时重新定义标记中的元素,如何在stringTokens中保存这些旧元素并添加新元素标记也将进入stringTokens。

2 个答案:

答案 0 :(得分:1)

您可以使用ArrayList<String>,当您需要它作为数组时,您可以将其转换为一个:

ArrayList<String> list = new ArrayList<>();
scanner = new Scanner(file);
while (scanner.hasNextLine()) {
    if ((line = scanner.nextLine()).charAt(0) != '#') {
        for(String s : line.split(",")) {
            list.add(s);
        }
    }
}
stringTokens = list.toArray(new String[0]);

答案 1 :(得分:0)

您应该考虑使用ArrayLists。它们本质上是可变数组,没有指定的大小(当你添加元素时,数组“增长”*。)并将每个标记添加到字符串列表中。

ArrayList<String> stringTokens = new ArrayList<String>();

...
for(String s : line.split(",")) {
        stringTokens.add(s);
}

*需要时容量增加一倍。