2 つのパラメーターを取り、1 つの値を返す関数がある場合、非端末操作としてマップをストリーム内のリストに変換することは可能ですか? 私が見つけた最も近い方法は、マップ上で forEach を使用してインスタンスを作成し、それらを事前定義されたリストに追加してから、そのリストから新しいストリームを開始することです。それとも、何かを逃しただけですか?
例: 古典的な「単語の長いリストから最も頻繁に出現する 3 つの単語を見つける」
wordList.stream().collect(groupingBy(Function.identity, Collectors.counting))).
(今、そのマップの entrySet をストリーミングしたい)
sorted((a,b) -> a.getValue().compareTo(b.getValue))).limit(3).forEach(print...