Java Merge arraylists with pattern

时间:2018-02-09 04:36:24

标签: java arraylist merge

我有两个不同对象的数组。

ArrayList<Array1> array1 = new ArrayList<>();
ArrayList<Array2> array2 = new ArrayList<>();

我想将这些数组合并到

ArrayList<Object> array = new ArrayList<>();

with pattern,对于array1中的每3-4个项目,在array2中添加项目。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

你可以保持简单,只需使用循环:

for (int i=0; i < array1.size(); ++i) {
    array.add(array1.get(i));
    if ((i+1) % 4 == 0) {
        array.add(array2.get(i/4));
    }
}

上述循环的逻辑是每次迭代总是将array1中的项添加到最终列表中。此外,在从array1添加4个项目后,它会添加array2中的项目。

我假设array2有足够的元素支持覆盖enitre array1列表。如果您计划在生产中执行此操作,您可能需要检查此边缘情况。