如何使用java流添加所有内容?
如何使用Java8添加所有内容
processeditemList is a Map<Integer, Map<Item, Boolean>>
至于现在,我正在做:
List<Item> itemList = Lists.newLinkedList();
for (Map<Item, Boolean> entry : processeditemList.values()) {
itemList.addAll(entry.keySet());
}
return itemList;
# 1 楼答案
你可以使用flatMap。它用于将多个流合并为一个流。因此,这里需要创建一个集合流,然后从每个集合中创建一个流:
如果要更改默认列表实现,则可以使用以下收集器:
如果您不知道列表的最终大小,并且执行的插入操作比读取操作多,则LinkedList会很好
ArrayList是oposite:你读的越多,添加/删除的就越少。因为引擎盖下的ArrayList包含一个数组,在添加新元素时必须重新调整该数组的比例,但在删除元素时,该数组永远不会缩小
# 2 楼答案
我现在正在打电话,所以我不能保证这在语法上是完美的,但以下是使用
Stream
的方法:我目前无法测试它,但我会查看Javadocs,如果它不正确,我会更改任何内容
编辑:我觉得一切都很好。如果使用哪种
List
实现并不重要,您可以更改到