list1:List<Student> list1 = new ArrayList<>();
list2: List<Student> list2 = new ArrayList<>();
//循环遍历两个list删除重复值,会出现下标越界问题。
//解决方案——新建第三个list3,把list1 放到list3中,循环遍历list3,删除list1中数据,最终结果使用list1
List<Student> list3 = new ArrayList<>();
list3 .addAll(list1 );
for (int i = 0; i < list3 .size(); i++) {
for (Student student : list2 ) {
if (student.getName().equals(list3 .get(i).getName())) {
for (int j = 0; j < list1 .size(); j++) {
if ((list1 .get(j).getName()).equals(list3 .get(i).getName())) {
list1 .remove(j);
}
}
}
}
}
注意:1.加入list3使用方法addAll();不是add(),别犯这种小错误
2.list存放其他类型数据也可这样去重