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;
    }
相關文章
相關標籤/搜索