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