Java的ArrayList的:内部的ArrayList合并的ArrayList创建一个ArrayList的 [英] Java ArrayList: Merging ArrayLists within ArrayLists to create one ArrayList
本文介绍了Java的ArrayList的:内部的ArrayList合并的ArrayList创建一个ArrayList的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我环顾四周,但我似乎无法找到一个API调用执行以下操作:我需要合并所有的ArrayList中一个ArrayList形成一个ArrayList中从所有子的ArrayList的所有元素,如果是有道理的。
下面是一个例子:
{是,A,{小,世界,之后},{所有}}变成{是,A,小,世界,后,全}
解决方案
公开名单<>扁平化(列表<>输入){
清单<对象>结果=新的ArrayList<对象>(); 对于(对象o:输入){
如果(邻的instanceof名单<>){
result.addAll(压平((名单<>)O));
}其他{
result.add(O);
}
} 返回结果;
}
I've looked around but I can't seem to find an API call that does the following: I need to merge all ArrayLists in an ArrayList to form one ArrayList with all the elements from all the sub-ArrayLists, if that makes sense.
Here's an example:
{"It's", "a", {"small", "world, "after"}, {"all"}} becomes {"It's", "a", "small", "world", "after", "all"}
解决方案
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;
}
这篇关于Java的ArrayList的:内部的ArrayList合并的ArrayList创建一个ArrayList的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文