Javaはオカレンスのマップに文字列のコレクションを減らします

クリスティーナ:

リストを考えてみましょうid1_f, id2_d, id3_f, id1_gどのように私はの形式で減少マップを取得するためにストリームを使用することができ、<String, Integer>同様の統計を:

id1 2
id2 1
id3 1

注:キーは前の部分です_あるreduce機能がここに助けることができますか?

アダム・シエミオン:

これは仕事を得るでしょう。

Map<String, Long> map = Stream.of("id1_f", "id2_d", "id3_f", "id1_g")
  .collect(
    Collectors.groupingBy(v -> v.split("_")[0],
    Collectors.counting())
  );

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=201332&siteId=1