私はこのタイプのマップを持っています。 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. リストに対するパンダデータフレームの出現数をカウントする
- 2. リスト内の各アイテムの出現回数をカウントする
- 3. さまざまなアクティビティのシーケンスで長さをカウント
- 4. 配列javaの出現数をカウントする
- 5. さまざまな条件でカウントを取得します
- 6. さまざまなリストのリーダーボード
- 7. さまざまなIRELiableDictionariesのリスト
- 8. 行末の出現数をカウントする
- 9. さまざまなURLの末尾部分を抽出する正規表現
- 10. Matlabでさまざまなパラメータの関数を呼び出す
- 11. awk出現回数をカウントする
- 12. 他の列の列の出現回数をカウントします。
- 13. MySQL:異なる値の出現数をカウントする
- 14. MySQL:異なる値の出現数をカウントする
- 15. ファイルを開き、 '|||'の出現回数をカウントします。
- 16. mySQLの各行の出現数をカウントします
- 17. 複数行と列のパターンの出現をカウントします
- 18. Python列の2文字の出現回数をカウントします。
- 19. リスト内の要素の出現をカウントする - OCaml
- 20. モデルのDjangoで出現数+カウントを取得しますか?
- 21. リストをクリアするさまざまな方法
- 22. jQuery:クラスのユニークな出現回数をカウントする
- 23. 可能なすべての部分文字列の出現数とその出現をカウントします。
- 24. 配列の出現数をカウント
- 25. さまざまなオブジェクトタイプのJavaコレクションをハイバネートできますか?
- 26. JavaのString []内のStringの出現回数をカウントする1ライナー?
- 27. 複数の日付間の出現数をカウントし、MySQLのユニークな行だけをリストする方法は?
- 28. Haskell:リストに参加するさまざまな方法
- 29. 異なるAPIレベルのさまざまなJavaメソッド
- 30. さまざまなネットワークシナリオをシミュレートする方法は? (Javaで)
あなたがしようとしたものを投稿を開始すべきであるが、その人の詐欺アドバイスので、あなたはそれから始まります。 – Manu
'Person'クラスは' .equals() 'をオーバーライドしていますか、あるいは同じオブジェクトを識別する別の方法を持っていますか? – 4castle
これは実際には難しい質問です...私はそれを行うことができますが、それはif文と変更可能なハッシュマップを使った実際には醜いリダクション操作を伴うので、スーパー機能ではありません。これは 'groups.values()。stream.flatmap(l - > l.stream())のようなものですreduce(新しいHashMap()、(s、m) - > {//醜いコード}) .entrySet.stream()。sort(//もっと醜いコード).getFirst(); ' –