List<NoteDesc> noteDescs = null; Map<String, Object> maps = new HashMap<>(); List<NoteDesc> descs = noteDescDao.findAll(); // 根据noteId去重 List<NoteDesc> lists = descs.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(NoteDesc::getNoteID))), ArrayList::new)); for (NoteDesc noteDesc : lists) { noteDescs = new ArrayList<>(); for (NoteDesc desc : descs) { if(noteDesc.getNoteID() == desc.getNoteID()) { noteDescs.add(desc); } } maps.put(noteDesc.getNoteName(), noteDescs); } return maps;