繁体   English   中英

Java ArrayList:合并ArrayList中的ArrayList以创建一个ArrayList

[英]Java ArrayList: Merging ArrayLists within ArrayLists to create one ArrayList

我环顾四周,但似乎找不到执行以下操作的API调用:我需要将ArrayList中的所有ArrayList合并,以与所有子ArrayLists中的所有元素一起形成一个ArrayList,如果可以的话。

这是一个例子:

{“ It's”,“ a”,{“ small”,“ world,” after“}},{” all“}}变成{” It's“,” a“,” small“,” world“,” after“, “所有”}

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;
}

为了建立在Thilo的答案之上,并避免重新实现自己的答案 ,请考虑Groovy的Collection.flatten()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM