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