循环往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);
        }
        参考代码:上边不对!怎么修改正确?

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

 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);
    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);
            }