1.循环list中的所有元素然后删除重复
/**
* 功能描述:循环list中的所有元素然后删除重复
*
* @param:
* @return:
* @auther: weizy 2019/2/27 14:12
*/
public static List removeDuplicate3(List list){
for(int i =0;i<list.size();i++){
for(int j = list.size()-1;j>i;j--){
if(list.get(j).equals(list.get(i))){
list.remove(j);
}
}
}
return list;
}
2. 通过HashSet踢除重复元素
/**
* 功能描述: 通过HashSet踢除重复元素
*
* @param:
* @return:
* @auther: weizy 2019/2/27 11:31
*/
public static List removeDuplicate2(List list){
HashSet set = new HashSet(list);
list.clear();
list.addAll(set);
return list;
}
3.删除ArrayList中重复元素,保持顺序
/**
* 功能描述:删除ArrayList中重复元素,保持顺序
*
* @param:
* @return:
* @auther: weizy 2019/2/27 10:56
*/
public static List removeRepeatData(List list){
Set set = new HashSet();
List newList = new ArrayList();
for(Iterator iterator = list.iterator();iterator.hasNext();){
Object element = iterator.next();
if(set.add(element)){
newList.add(element);
}
}
list.clear();
list.add(newList);
return list;
}
4. 把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中
/**
* 功能描述:.把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中
*
* @param: 有重复数据的List
* @return: 数据不重复的List
* @auther: weizy 2019/2/27 10:38
*/
public static List removeDuplicate(List list){
ArrayList newList = new ArrayList();
for(int i=0;i<list.size();i++){
if(!newList.contains(list.get(i))){
newList.add(list.get(i));
}
}
return newList;
}
5.利用java8中stream流进行去重
List<String> list2 = new ArrayList(strings);
list2 = list2.stream().distinct().collect(Collectors.toList());