这里有一个Map<String, List<Article>> selections,我想将它的所有值合并到一个List<Article>中。
我试过这个:
for (Iterator i = selections.keySet().iterator() ; i.hasNext() ; ){
String cle = (String)i.next();
select = selections.get(cle);
}然而,我最后只得到了最新的条目。我怎样才能在一个List中把它们全部得到呢?
发布于 2014-08-26 05:13:35
您需要在迭代之前创建一个新 List,然后在Map#values()上迭代,然后通过其addAll()方法将每个List添加到新的List中。
List<Article> selectedArticles = new ArrayList<>();
for (List<Article> selection : selections.values()) {
selectedArticles.addAll(selection);
}
// Now use selectedArticles.另请参阅:
https://stackoverflow.com/questions/25495274
复制相似问题