You can use flatMap. It's used to combine multiple streams into a single one. So here you need to create a stream of collections, and then create a stream from each of them:
processeditemList.values().stream()
.map(Map::keySet) // Stream<Set<Item>>
.flatMap(Set::stream) // convert each set to a stream
.collect(toList()); // convert to list, this will be an ArrayList implmentation by default
If you want to change default List implementation, then you can use below collector:
Collectors.toCollection(LinkedList::new)
LinkedList would be good if you do not know the final size of the list, and you do more insert operations than read.
ArrayList is the oposite: more you read, and less add/remove. Because ArrayList under the hood holds an array, which must be rescaled when adding new elements, but never get's reduced, when you remove elements.