我在Java中有3个列表,如何合并它们?
list1 = [10,20,30]
list2 = [40,50,60]
list3 = [70]
输出
res = [10,40,70,20,50,30,60]
我熟悉编写实现结果,但想知道是否存在 是我可以使用它的任何库。
答案 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流解决方案。