【问题标题】:Java Merge arraylists with patternJava 使用模式合并数组列表
【发布时间】:2018-07-19 19:24:12
【问题描述】:

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

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

我想将这些数组合并到

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

带有模式,对于array1中的每3-4个项目,在array2中添加项目。

我该怎么做?

【问题讨论】:

  • 信息不足:您对列表大小有什么假设?您想对未添加的元素做什么?忽略他们?
  • “我该怎么做?” 你写了一些代码。好吧,首先你决定是 3 还是 4,即完成你打算做什么的规范。 --- idownvotedbecau.se/noattempt
  • 顺便说一句,将数组列表命名为数组是一个非常糟糕的主意。

标签: java arraylist merge


【解决方案1】:

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

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 有足够的元素来支持覆盖整个array1 列表。如果您打算在生产环境中执行此操作,您可能需要检查这种极端情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多