我在我的一个API中使用Multimap<String, List<String>>
。现在获取所有值意味着列表列表我使用了multimap的.values()
方法。但是这种方法让我回归Collection<List<String>>
。现在要播放此集合的索引,我想将其转换为List<List<String>>
或ArrayList<List<String>>
。
如何在不从集合构建新的arrayList和显式添加列表值的情况下转换或转换为该arraylist。
答案 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());