一个去除重复元素的方法
/**
* remove list duplicate element
* @param list
*/
public static List removeListDuplicateElement(List list) {
if (list.size() > 1) {
for (int i = 0; i < list.size() - 1; i++) {
for (int j = list.size() - 1; j > i; j--) {
if (list.get(j).equals(list.get(i))) {
list.remove(j);
}
}
}
}
return list;
}
for (int j = list.size() - 1; j > i; j--)这里报空指针异常
at com.dataAnalysis.utils.ListUtils.removeListDuplicateElement(ListUtils.java:14) ~[classes/:na]
最后修改成了这样,new一个新的list,迭代待处理数组,若newList中不包含此元素就add,最后return的数组重复元素只保留一个
public static List removeListDuplicateElement(List list) {
Iterator iterator = list.iterator();
List newList = new ArrayList();
while (iterator.hasNext()){
Object o = iterator.next();
if(!newList.contains(o)){
newList.add(o);
}
}
return newList;
}
list.remove(j); 之后 记得把j也减一,不然超出了数据长度会报空指针