Java Collection:要转换的内容Collection <list <string>&gt;到ArrayList <list <string>&gt;或List <list <string>&gt;?</list <string> </list <string> </list <string>

时间:2013-08-07 15:27:08

标签: java java-ee collections

我在我的一个API中使用Multimap<String, List<String>>。现在获取所有值意味着列表列表我使用了multimap的.values()方法。但是这种方法让我回归Collection<List<String>>。现在要播放此集合的索引,我想将其转换为List<List<String>>ArrayList<List<String>>

如何在不从集合构建新的arrayList和显式添加列表值的情况下转换或转换为该arraylist。

3 个答案:

答案 0 :(得分:7)

您可以使用适当的构造函数:

List<List<String>> yourList = new ArrayList<>(yourCollection);

列表中元素的顺序是集合的迭代器的顺序。

答案 1 :(得分:1)

如果您不想构建新的集合(并且不要忘记,由于您将创建新集合但不能克隆实际成员,这可能不会很昂贵),为什么不这样做呢

int i = 0;
for (List<String> list : collection) {
   // whatever
   i++;
}

不太好,我很感激。

答案 2 :(得分:1)

或使用google collection API

List<List<String>> = Lists.newArrayList(myMap.values());