Java GroupByの使い方:集計処理を徹底解説

JavaのStream APIを使用すると、データをグループ化することができます。Collectors.groupingBy()メソッドを使用すると、SQLのGROUP BYと同様の機能を実現できます。groupingBy()メソッドを使用すると、指定された条件でデータをグループ化し、その後各グループごとに操作や集計を行うことができます。

以下は具体的な使用法です:

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<String> fruits = Arrays.asList("apple", "banana", "grape", "apple", "orange", "banana");

        // 将水果按照首字母进行分组
        Map<Character, List<String>> groupByFirstLetter = fruits.stream()
                .collect(Collectors.groupingBy(s -> s.charAt(0)));

        System.out.println(groupByFirstLetter);
    }
}

上記の例では、果物を最初の文字でグループ化して、Mapオブジェクトを取得しました。キーは果物の最初の文字で、値は対応する最初の文字の果物リストです。コードを実行すると、以下の結果が出力されます。

{a=[apple, apple], b=[banana, banana], g=[grape], o=[orange]}

このように、果物を最初の文字でグループ化する機能が実現されました。groupingBy()メソッドは、Collectors.counting()、Collectors.summingInt()などのメソッドと組み合わせて、さらなる操作を行うことができ、より複雑なグループ統計機能を実現することができます。

bannerAds