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

public class Main {
    public static void main(String[] args) {
        List<SuggestedLevelExportDTO> exportDTOS = // Your list of SuggestedLevelExportDTO objects

        // Group by empCode
        Map<String, Map<String, Map<String, Long>>> groupedDTOs = exportDTOS.stream()
                .collect(Collectors.groupingBy(SuggestedLevelExportDTO::getEmpCode,
                        Collectors.groupingBy(SuggestedLevelExportDTO::getWightLevelName,
                                Collectors.groupingBy(SuggestedLevelExportDTO::getSuggestedLevel, Collectors.counting()))));

        // Print the grouped results
        for (Map.Entry<String, Map<String, Map<String, Long>>> entry1 : groupedDTOs.entrySet()) {
            String empCode = entry1.getKey();
            System.out.println('Employee Code: ' + empCode);
            for (Map.Entry<String, Map<String, Long>> entry2 : entry1.getValue().entrySet()) {
                String wightLevelName = entry2.getKey();
                System.out.println('	Weight Level Name: ' + wightLevelName);
                for (Map.Entry<String, Long> entry3 : entry2.getValue().entrySet()) {
                    String suggestedLevel = entry3.getKey();
                    Long count = entry3.getValue();
                    System.out.println('		Suggested Level: ' + suggestedLevel + ', Count: ' + count);
                }
            }
        }
    }
}

This code uses Java 8's stream API to group the SuggestedLevelExportDTO objects first by empCode, then by wightLevelName, and finally by suggestedLevel with the count of each suggestedLevel. The results are stored in a nested map structure where the keys are the empCode, wightLevelName, and suggestedLevel, and the values are the count of each suggestedLevel. The code then prints out the grouped results.

Java: Group SuggestedLevelExportDTO by EmpCode, WightLevelName, and SuggestedLevel Count

原文地址: https://www.cveoy.top/t/topic/qAnG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录