list去掉重复,将list去重,并转为map结构

public void deleteSameUser(List<UserRequestDTO> userRequests) {
        // 去除重复数据,先将对象放入HashMap中,利用key只惟一,去掉重复,而后再将map中的值放到list中
        HashMap<String, UserRequestDTO> map = new HashMap<String, UserRequestDTO>();
        if (userRequests != null && userRequests.size() > 0) {
            for (UserRequestDTO requestDTO : userRequests) {
                map.put(requestDTO.getUserId(), requestDTO);
            }
        }
        userRequests.clear();
        Object s[] = map.keySet().toArray();
        for (int i = 0; i < map.size(); i++) {
            userRequests.add(map.get(s[i]));
        }
    }

二,批量从数据库中取出列表,可是列表中的list有重复的,去掉其中的重复,而且改成key-value(map)结构,供取数据的时候能够直接map.get(key),而不用再循环list判断条件获取:代码以下:java

public Map<String, List<LabelDTO>> getUtilMap(List<LabelDTO> labelList) {
        // 定义返回结果类(map)
        Map<String, List<LabelDTO>> hashMap = new HashMap<String, List<LabelDTO>>();
        // 将标签中的评价id放入list中
        Set<String> ids = new HashSet<String>();
        for (LabelDTO label : labelList) {
            ids.add(label.getReviewId());
        }
        // 将标签保存到map中,结构为(评价id-List<标签对象>)
        List<LabelDTO> labels = new ArrayList<LabelDTO>();
        for (String id : ids) {
            labels.clear();
            for (LabelDTO label : labelList) {
                if (label.getReviewId().equals(id)) {
                    labels.add(label);
                }
            }
            hashMap.put(id, labels);
        }
        return hashMap;
    }
相关文章
相关标签/搜索