我有两个不同对象的数组。
ArrayList<Array1> array1 = new ArrayList<>();
ArrayList<Array2> array2 = new ArrayList<>();
我想将这些数组合并到
ArrayList<Object> array = new ArrayList<>();
使用pattern,对于array1中的每3-4个项目,在array2中添加项目。
我该怎么做呢?
发布于 2018-02-09 04:39:01
你可以让事情变得简单,只使用一个循环:
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
列表。如果您计划在生产环境中执行此操作,则可能需要检查此边缘情况。
https://stackoverflow.com/questions/48698793
复制相似问题