从一些其他Arraylists的元素填充Arraylist。

时间:2013-11-27 05:36:30

标签: java android arraylist

我有一个ArrayList对象,里面填充了许多ArrayList对象。有些条目 null ,我想只将非null ArrayLists 的值放入单个 ArrayList 。我在谈论下面的事情。

{null,[p1,p2,p3],[p2,p5,p6],[p4]}

因为最终需要的输出是这样的。

[p1,p2,p3,p2,p5,p6,p4]

ArrayList对象的 ArrayList对象是从hash map object创建的。我的代码段如下。但它有问题。

Collection<ArrayList<MyProduct>> tmp = new ArrayList<ArrayList<MyProduct>>();

            tmp= orderAdap.values();

            ArrayList<MyProduct> flattenList = new ArrayList<MyProduct>();
            for(ArrayList<MyProduct> list : tmp){
                for(MyProduct i : list)

                    if(i!=null){
                    lstStyle.add(i);
                    }
            }

有人可以帮助我。谢谢!!!!!

3 个答案:

答案 0 :(得分:2)

喜欢这个

tmp.remove(Collections.singleton(null));
for(ArrayList<MyProduct> list : tmp){         
     lstStyle.addAll(list);
}

答案 1 :(得分:0)

使用addAll()

for(ArrayList<MyProduct> list : tmp) {
    if(list!=null)
         lstStyle.addAll(list);
    }
}

答案 2 :(得分:0)

您似乎只想添加arraylist列表中的唯一元素。我建议当你迭代你的列表时,在null检查后从列表中获取所有元素并将其添加到最终集(例如hashset)。获得该集合(将包含所有arraylists中的唯一元素)后,将其转换回列表。