Java ArrayList:在ArrayLists中合并ArrayLists以创建一个ArrayList

时间:2010-10-20 07:56:13

标签: java arraylist

我环顾四周但似乎找不到执行以下操作的API调用:我需要合并ArrayList中的所有ArrayLists以形成一个ArrayList,其中包含来自所有子ArrayLists的所有元素,如果是有道理。

以下是一个例子:

{“它是”,“a”,{“小”,“世界”,在“},{”all“}}变为{”It's“,”a“,”small“,”world“,”在“,”所有“}

之后

2 个答案:

答案 0 :(得分:3)

public List<?> flatten(List<?> input) {
    List<Object> result = new ArrayList<Object>();

    for (Object o: input) {
        if (o instanceof List<?>) {
            result.addAll(flatten((List<?>) o));
        } else {
            result.add(o);
        }
    }

    return result;
}

答案 1 :(得分:2)

要在Thilo's answer之上构建,并避免重新实现自己的,请考虑Groovy的Collection.flatten()