合并3个列表项

时间:2015-02-12 21:38:28

标签: java

我在Java中有3个列表,如何合并它们?

list1 = [10,20,30]
list2 = [40,50,60]
list3 = [70]

输出

res = [10,40,70,20,50,30,60]

我熟悉编写实现结果,但想知道是否存在 是我可以使用它的任何库。

3 个答案:

答案 0 :(得分:1)

res = ArrayUtils.addAll(list1, list2);
res = ArrayUtils.addall(res,list3);

另外,请参阅更多有关如何执行此操作的选项here

答案 1 :(得分:0)

来自How to mix two arrays in Java?

int[] merge(int[]... arrays) {
    int length = 0;
    for (int[] a: arrays) {
        length += a.length;
    }
    int result[] = new int[length];
    for (int i = 0, j = 0; j < length; ++i) {
        for (int[] a: arrays) {
            if (i < a.length) {
                result[j++] = a[i];
            }
        }
    }
    return result;
}

然后简单地

merge(list1, list2, list3)

答案 2 :(得分:0)

您可以使用普通的Java 7库:

List result = new ArrayList();
result.addAll(list1); result.addAll(list2); result.addAll(list3);`

或更短:

List result = new ArrayList();
Collections.addAll(result, list1, list2, list3);

我想还有一个Java 8流解决方案。