class MaintenanceTask{ private String executorId; private String maintenanceTaskCode; public String getExecutorId() { return executorId; } public void setExecutorId(String executorId) { this.executorId = executorId; } public String getMaintenanceTaskCode() { return maintenanceTaskCode; } public MaintenanceTask() { } public MaintenanceTask(String executorId, String maintenanceTaskCode) { this.executorId = executorId; this.maintenanceTaskCode = maintenanceTaskCode; } public void setMaintenanceTaskCode(String maintenanceTaskCode) { this.maintenanceTaskCode = maintenanceTaskCode; } } @Test void contextLoads() { MaintenanceTask maintenanceTask = new MaintenanceTask("123", "666"); MaintenanceTask maintenanceTask1 = new MaintenanceTask("123", "888"); MaintenanceTask maintenanceTask2 = new MaintenanceTask("222", "666"); MaintenanceTask maintenanceTask3 = new MaintenanceTask("222", "888"); MaintenanceTask maintenanceTask4 = new MaintenanceTask("333", "666"); MaintenanceTask maintenanceTask5 = new MaintenanceTask("333", "888"); MaintenanceTask maintenanceTask6 = new MaintenanceTask("333", "777"); MaintenanceTask maintenanceTask7 = new MaintenanceTask("333", "999"); MaintenanceTask maintenanceTask8 = new MaintenanceTask("711", "777"); MaintenanceTask maintenanceTask9 = new MaintenanceTask("111", "999"); MaintenanceTask maintenanceTask0 = new MaintenanceTask("444", "666"); MaintenanceTask maintenanceTask11 = new MaintenanceTask("444", "888"); List<MaintenanceTask> maintenanceTasks = new ArrayList<>(); maintenanceTasks.add(maintenanceTask); maintenanceTasks.add(maintenanceTask1); maintenanceTasks.add(maintenanceTask2); maintenanceTasks.add(maintenanceTask3); maintenanceTasks.add(maintenanceTask4); maintenanceTasks.add(maintenanceTask5); maintenanceTasks.add(maintenanceTask6); maintenanceTasks.add(maintenanceTask7); maintenanceTasks.add(maintenanceTask8); maintenanceTasks.add(maintenanceTask9); maintenanceTasks.add(maintenanceTask0); maintenanceTasks.add(maintenanceTask11); Map<String,List<String>> user = new HashMap<>(); for (MaintenanceTask task: maintenanceTasks ){ String taskCode = task.getMaintenanceTaskCode(); if (CollectionUtil.isEmpty(user.get(task.getExecutorId()))){ List<String> s = new ArrayList<>(); s.add(taskCode); user.put(task.getExecutorId(),s); continue; } List<String> list = user.get(task.getExecutorId()); list.add(taskCode); user.put(task.getExecutorId(),list); } System.out.println(user); }
{111=[999], 123=[666, 888], 222=[666, 888], 333=[666, 888, 777, 999], 444=[666, 888], 711=[777]}