Muc*_*haZ 4 java queue lambda java-8 java-stream
我有以下代码:
Queue<Reward> possibleRewards =
Stream.of(Reward.values())
.flatMap(reward -> IntStream.range(0, reward.getOccurencies()).mapToObj(i -> reward))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我需要收集Stream
成a 的元素Queue
,而不是a List
.但是,没有Collectors.toQueue()
方法.如何将元素收集到Queue
?
Era*_*ran 11
您可以使用Collectors.toCollection()
,它允许您选择Collection
您希望生成的任何实现:
Queue<Reward> possibleRewards =
Stream.of(Reward.values())
.flatMap(reward -> IntStream.range(0, reward.getOccurencies()).mapToObj(i -> reward))
.collect(Collectors.toCollection(PriorityQueue::new)); // use whatever Queue
// implementation you want
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1601 次 |
最近记录: |