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);
}
}