利用set对list进行合并去重复
set是不重复的集合,可以使用set对有重复的两个list集合进行合并
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
//利用set 对list去重复
Set<String> set = new HashSet<String>(list);
//使用去重复后的set 重新构建一个list
List<String> newList = new ArrayList<String>(set);
newList 为去重以后的新的list,上述去重只针对于String 类型,如果针对对象去重,可以重写实体类的hashcode和equals方法 ,对对象进行去重 或者采用以下的方法:
/**
* 将列表中重复的用户移除,重复指的是name相同
*
* @param userList
* @return
*/
public static ArrayList<People> removeDuplicteUsers(ArrayList<People> userList) {
Set<People> s = new TreeSet<People>(new Comparator<People>() {
@Override
public int compare(People o1, People o2) {
return o1.getName().compareTo(o2.getName());
}
});
s.addAll(userList);
return new ArrayList<People>(s);
}
来进行去重。
参考文章:http://blog.csdn.net/lcf687619/article/details/60143879