Java stream grouping

Original Pearto example. Read, copy and adapt this code for your project.

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

record Tool(String category, String name) {}

class Example {
    public static void main(String[] args) {
        List<Tool> tools = List.of(new Tool("Text", "Counter"), new Tool("Text", "Diff"));
        Map<String, List<Tool>> grouped = tools.stream()
            .collect(Collectors.groupingBy(Tool::category));
        System.out.println(grouped);
    }
}