创建数组列表的数组

3
我正在尝试创建一个ArrayList,每个索引处都有一个字符串数组。我已经使用了以下代码:
ArrayList<String[]> deliveryTimes = new ArrayList<String[]>();
String[] str = new String[times.size()];//times is an Arraylist of string
for(int i=0; i<times.size();i++){
    str[i] = times.get(i);
}
deliveryTimes.add(str);

使用上述代码,字符串数组str的所有元素都被添加到deliveryTimes数组列表的不同索引中。但是我想把str作为一个数组添加到一个索引中。所以应该像下面这样:

[["a","b","c"],["aa","bb","cc"],["aaa","bbb","ccc"]]

但这就像:
["a","b","c","aa","bb","cc","aaa","bbb","ccc"]

2
你是否有多个“times”数组,还是只有一个需要均匀分割? - Niko
2
在那个单独的for循环中,你是否将“a”添加到“ccc”中? - Harikumar Alangode
2
你的 times 数组是什么? - salmanseifian
2个回答

2
....
String[] first = new String[]{"a", "b", "c"};
String[] second = new String[]{"aa", "bb", "cc"};
String[] third = new String[]{"aaa", "bbb", "ccc"};

addArrays(first, second, third);

...

ArrayList<ArrayList<String>> addArrays(String[]... strings) {
    ArrayList<ArrayList<String>> allTimes = new ArrayList<>(strings.length);

    for (String[] array : strings) {
        allTimes.add(new ArrayList<>(Arrays.asList(array)));
    }

    return allTimes;
}

allTimes 包含:[[a, b, c], [aa, bb, cc], [aaa, bbb, ccc]]


0

你的deliveryTimes列表只包含一个String[]。向deliveryTimes列表添加多个String[]

ArrayList<String[]> deliveryTimes = new ArrayList<String[]>();

String[] one = new String[]{"a", "b", "c"};
String[] two = new String[]{"aa", "bb", "cc"};
String[] three = new String[]{"aaa", "bbb", "ccc"};

deliveryTimes.add(one);
deliveryTimes.add(two);
deliveryTimes.add(three);

for (String[] str : deliveryTimes) {
    System.out.println(Arrays.toString(str));
}

输出

[a, b, c]

[aa, bb, cc]

[aaa, bbb, ccc]

您需要将时间列表拆分并分别添加到交货时间列表中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接