私はこのタイプのマップを持っています。 Map<Group, List<Person>>
これは、メンバーのリスト全体を含むグループのセットです。 ストリームとラムダ式を使用しているグループが最大の人物を探したいと思っていましたが、成功しませんでした。 私を助けてもらえますか?ありがとうさまざまなリストの出現数をカウントするJava
答えて
.flatMap()
の後に.collect()
があり、全体でMap
の各人の頻度がわかります。このような
何か:
Person socialButterfly = groupMap.values()
.stream()
.flatMap(Collection::stream)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
.entrySet().stream()
.max(Map.Entry.comparingByValue())
.get().getKey();
私は今それをテストしました。できます! 'groupingBy'が同じものとして分類できる人物を識別できるように' Person'が '.equals(Object)'をオーバーライドしていることを確認してください。 – 4castle
ニースの答え男。 –
@ YassinHajajありがとう! :) 'Map.Entry.comparingByValue()'が見つかったとき、私は本当に興奮しました。私がOPからの情報をあまりにも多く手に入れることができたのは変です。私の思うような質問はかなり簡単でした。複雑さを考えると、私は他の解決策から質問を閉じることに同意しない。 – 4castle
- 1. Java - リスト内の単語の再帰的な出現をカウントします。
- 2. リストに対するパンダデータフレームの出現数をカウントする
- 3. 異なるアイテムの出現回数をカウントします。
- 4. リスト内の各アイテムの出現回数をカウントする
- 5. リスト内で1 2の出現をカウントするLisp関数
- 6. 数字の出現数をカウントする
- 7. さまざまなデータタイプのリストからリストを作成する
- 8. さまざまなアクティビティのシーケンスで長さをカウント
- 9. 配列javaの出現数をカウントする
- 10. さまざまな条件でカウントを取得します
- 11. さまざまなIRELiableDictionariesのリスト
- 12. さまざまなリストのリーダーボード
- 13. 行末の出現数をカウントする
- 14. intの出現回数をカウントする
- 15. さまざまなURLの末尾部分を抽出する正規表現
- 16. Matlabでさまざまなパラメータの関数を呼び出す
- 17. awk出現回数をカウントする
- 18. 春にさまざまなメソッドを複数回呼び出す
- 19. 配列リスト内のさまざまなオブジェクトのサブメソッドを呼び出す
- 20. 他の列の列の出現回数をカウントします。
- 21. MySQL:異なる値の出現数をカウントする
- 22. MySQL:異なる値の出現数をカウントする
- 23. Haskell - さまざまな種類のリストをシャッフルしますか?
- 24. Javaのさまざまなパラメータを使用してアクションを呼び出す
- 25. ファイルを開き、 '|||'の出現回数をカウントします。
- 26. mySQLの各行の出現数をカウントします
- 27. 複数行と列のパターンの出現をカウントします
- 28. Python列の2文字の出現回数をカウントします。
- 29. さまざまなパラメータで結果のカウントとキャッシングを保証する方法
- 30. リスト内の要素の出現をカウントする - OCaml
あなたがしようとしたものを投稿を開始すべきであるが、その人の詐欺アドバイスので、あなたはそれから始まります。 – Manu
'Person'クラスは' .equals() 'をオーバーライドしていますか、あるいは同じオブジェクトを識別する別の方法を持っていますか? – 4castle
これは実際には難しい質問です...私はそれを行うことができますが、それはif文と変更可能なハッシュマップを使った実際には醜いリダクション操作を伴うので、スーパー機能ではありません。これは 'groups.values()。stream.flatmap(l - > l.stream())のようなものですreduce(新しいHashMap()、(s、m) - > {//醜いコード}) .entrySet.stream()。sort(//もっと醜いコード).getFirst(); ' –