【发布时间】:2015-07-29 14:20:59
【问题描述】:
假设我有一个单词列表,我想创建一个方法,它将新列表的大小作为参数并返回新列表。如何从原始 sourceList 中获取随机单词?
public List<String> createList(int listSize) {
Random rand = new Random();
List<String> wordList = sourceWords.
stream().
limit(listSize).
collect(Collectors.toList());
return wordList;
}
那么如何以及在哪里可以使用我的 Random?
【问题讨论】:
-
有什么理由使用
Stream吗?难道你不能将原始列表洗牌,然后用subList返回一个副本吗? -
你知道源流中有多少个单词吗?
-
什么@AlexisC。说过。
Collections.shuffle和list.subList(0,size)应该足够了。 -
如果有大量元素可能会使改组变得昂贵,请参见此答案:stackoverflow.com/a/28655112/1441122
标签: java java-8 java-stream