Java的ArrayList的:内部的ArrayList合并的ArrayList创建一个ArrayList的 [英] Java ArrayList: Merging ArrayLists within ArrayLists to create one ArrayList

查看:137
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆