5.List去重
参考文章
去重代码:
List<String> list = new ArrayList<>();
list.add("张三");
list.add("张三");
list.add("李四");
list.add("张三");
5.1利用set去重
List<String> list = new ArrayList<>();
list.add("张三");
list.add("张三");
list.add("李四");
list.add("张三");
Set a = new HashSet(list);
list.clear();//清除list元素
list.addAll(a);//添加集合
System.out.println(list);
5.2循环去重复
List<String> list = new ArrayList<>();
list.add("张三");
list.add("张三");
list.add("李四");
list.add("张三");
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);
}
}
}
System.out.println(list);
5.3保顺序去重
List<String> list = new ArrayList<>();
list.add("张三");
list.add("张三");
list.add("李四");
list.add("张三");
Set set = new HashSet();
List newList = new ArrayList();
for (Iterator iter = list.iterator(); iter.hasNext();) {
Object element = iter.next();
//如果set不能添加,说明数据重复
if (set.add(element)) newList.add(element);
}
list.clear();
list.addAll(newList);
System.out.println(list);
5.4利用contains方法
List<String> list = new ArrayList<>();
list.add("张三");
list.add("张三");
list.add("李四");
list.add("张三");
List listTemp = new ArrayList();
for(int i=0;i<list.size();i++){
//如果listTemp中有就不新增
if(!listTemp.contains(list.get(i))){
listTemp.add(list.get(i));
}
}
System.out.println(listTemp);