u013340334
每一天爲明天
采纳率14.3%
2016-05-19 07:18

循环往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 ddeshij 5年前

    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 评论 复制链接分享
  • Royal_lr Royal_lr 5年前
        if (map.containsKey(key)) {
                    map.get(key).add(userInfoDto);
                    userListDto.addAll(tempList);
                } else {
                    userListDto = new ArrayList<UserDto> ();
                    userListDto.add(userInfoDto);
                                    map.get(key).add(userInfoDto);
                }
    
    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 5年前
     if (map.containsKey(key)) {
                    tempList.add(userInfoDto);
                    userListDto.addAll(tempList);
                } else {
                    userListDto = new ArrayList<UserDto> ();
                    userListDto.add(userInfoDto);
                }
    ->
    if (!map.containsKey(key)) 
    {
                    userListDto = new ArrayList<UserDto> ();
                    userListDto.add(userInfoDto);
    }
    map.get(key).add(userInfoDto);
    
    点赞 评论 复制链接分享