每一天爲明天 2016-05-19 07:18 采纳率: 14.3%
浏览 1511
已采纳

循环往Map里装数据,同一个KEY的数据撞到一个list中,怎么实现?急急

        Map<String, List<UserDto>> map = new HashMap<String, List<UserDto>>();
        String key = "";

for (int i = 0 ;i < userErrorList.size(); i++) {

            key = userErrorList.get(i).getUserId();

            List<UserDto> userListDto = new ArrayList<UserDto> ();

            UserDto userInfoDto = new UserDto();

            List<UserDto> tempList = new ArrayList<UserDto> ();

            userInfoDto.setWorkDay(userErrorList.get(i).getWorkDay());
            userInfoDto.setUserName(userErrorList.get(i).getUserName());
            userInfoDto.setWorkTime(userErrorList.get(i).getWorkTime());
            userInfoDto.setAttendanceTime(userErrorList.get(i).getAttendanceTime());
            userInfoDto.setUserMail(userErrorList.get(i).getUserMail());
            userInfoDto.setErrorInfo(userErrorList.get(i).getErrorInfo());

            if (map.containsKey(key)) {
                tempList.add(userInfoDto);
                userListDto.addAll(tempList);
            } else {
                userListDto = new ArrayList<UserDto> ();
                userListDto.add(userInfoDto);
            }
            map.put(key, userListDto);
        }
        参考代码:上边不对!怎么修改正确?
  • 写回答

3条回答 默认 最新

  • ddeshij 2016-05-19 07:27
    关注

    if (map.containsKey(key)) {
    // tempList.add(userInfoDto);
    // userListDto.addAll(tempList);
    userListDto = map.get(key);
    userListDto.add(userInfoDto);
    } else {
    // userListDto = new ArrayList ();
    userListDto.add(userInfoDto);
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?