我环顾四周但似乎找不到执行以下操作的API调用:我需要合并ArrayList中的所有ArrayLists以形成一个ArrayList,其中包含来自所有子ArrayLists的所有元素,如果是有道理。
以下是一个例子:
{“它是”,“a”,{“小”,“世界”,在“},{”all“}}变为{”It's“,”a“,”small“,”world“,”在“,”所有“}
之后答案 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()