1、List<String>
去重
public static List<String> removeDuplicatePlanStr(List<String> strList){
HashSet<String> h = new HashSet<String>(strList);
strList.clear();
strList.addAll(h);
return strList;
}
2、List<Map<String,String>>根据map里的某个key去重
public static List<Map<String,String>> removeDuplicatePlanMap(List<Map<String,String>> planList, String pursuantString) {
final String pursuantStringFinal = pursuantString;
Set<Map<String,String>> set = new TreeSet<Map<String,String>>(new Comparator<Map<String,String>>() {
@Override
public int compare(Map<String,String> a, Map<String,String> b) {
// 字符串则按照asicc码升序排列
return a.get(pursuantStringFinal).compareTo(b.get(pursuantStringFinal));
}
});
set.addAll(planList);
return new ArrayList<Map<String,String>>(set);
}
3、List<对象>根据对象里面某个属性去重
例子:
public static List<User> removeDuplicatePlan(List<User> planList, String pursuantString) {
Set<User> set = new TreeSet<User>(new Comparator<User>() {
@Override
public int compare(User a, User b) {
// 字符串则按照asicc码升序排列
return a.getId().compareTo(b.getId());
}
});
set.addAll(planList);
return new ArrayList<User>(set);
}