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