将List列表转换为java中的列表
List<List> superlist = new ArrayList<List>(); List list1 = new ArrayList(); list1.add("a1"); list1.add("a2"); List list2 = new ArrayList(); list2.add("b1"); list2.add("b2"); List list3= new ArrayList(); list3.add("c1"); list3.add("c2"); superlist.add(list1); superlist.add(list2); superlist.add(list3); List result= new ArrayList();
现在我想创建一个包含superList
中所有值的新列表。 这里的结果应该包含a1,a2,b1,b2,c1,c2
使用flatMap
尝试这样:
List> list = List
如果您使用Java <8(并且不能使用Stream
),则可以使用Guava的Iterables.concat
在单行中执行此操作:
List merged = Lists.newArrayList(Iterables.concat(superList));
您必须遍历superlist
List
对象中的每个List
才能获取所有内容。 您可以使用addAll()
方法将每个列表的内容复制到新的List
:
List result = new ArrayList (); for (List list : superlist) { result.addAll(list); }
superlist.forEach(e -> result.addAll(e));
经过一番研究后,我发现了这种方式。