遍历并删除list中的元素
2017-06-22 13:12
295 查看
遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题。下面主要看看以下几种遍历删除List中元素的形式:
1.通过增强的for循环删除符合条件的多个元素
2.通过增强的for循环删除符合条件的一个元素
3.通过普通的for删除删除符合条件的多个元素
4.通过Iterator进行遍历删除符合条件的多个元素
[java] view plain copy
public void listRemove() {
List students = this.getStudents();
for (Student stu : students) {
if (stu.getId() == 2)
students.remove(stu);
}
}
[java] view plain copy
public void listRemoveBreak() {
List students = this.getStudents();
for (Student stu : students) {
if (stu.getId() == 2) {
students.remove(stu);
break;
}
}
}
[java] view plain copy
public void listRemove2() {
List students = this.getStudents();
for (int i=0; i
if (students.get(i).getId()%3 == 0) {
Student student = students.get(i);
students.remove(student);
}
}
}
[java] view plain copy
public void iteratorRemove() {
List students = this.getStudents();
System.out.println(students);
Iterator stuIter = students.iterator();
while (stuIter.hasNext()) {
Student student = stuIter.next();
if (student.getId() % 2 == 0)
stuIter.remove();//这里要使用Iterator的remove方法移除当前对象,如果使用List的remove方法,则同样会出现ConcurrentModificationException
}
System.out.println(students);
}
1.通过增强的for循环删除符合条件的多个元素
2.通过增强的for循环删除符合条件的一个元素
3.通过普通的for删除删除符合条件的多个元素
4.通过Iterator进行遍历删除符合条件的多个元素
[java] view plain copy
public void listRemove() {
List students = this.getStudents();
for (Student stu : students) {
if (stu.getId() == 2)
students.remove(stu);
}
}
[java] view plain copy
public void listRemoveBreak() {
List students = this.getStudents();
for (Student stu : students) {
if (stu.getId() == 2) {
students.remove(stu);
break;
}
}
}
[java] view plain copy
public void listRemove2() {
List students = this.getStudents();
for (int i=0; i
if (students.get(i).getId()%3 == 0) {
Student student = students.get(i);
students.remove(student);
}
}
}
[java] view plain copy
public void iteratorRemove() {
List students = this.getStudents();
System.out.println(students);
Iterator stuIter = students.iterator();
while (stuIter.hasNext()) {
Student student = stuIter.next();
if (student.getId() % 2 == 0)
stuIter.remove();//这里要使用Iterator的remove方法移除当前对象,如果使用List的remove方法,则同样会出现ConcurrentModificationException
}
System.out.println(students);
}
相关文章推荐
- 正确遍历删除List中的元素
- 如何正确遍历删除List中的元素
- 遍历List删除重复元素的方案探究
- Java遍历List,删除自身元素
- vector list map 遍历删除制定元素 防止迭代器失效
- 集合--(List、Set、Map)遍历、删除、比较元素时的小陷阱
- java中循环遍历删除List和Set集合中元素的方法
- Java动态 遍历List 时删除List特征元素 异常问题 及解决方式总结
- vector list map 遍历删除制定元素 防止迭代器失效的实例
- List的遍历和删除元素
- 遍历std::list过程中删除元素后继续遍历过程
- 两个知识点1、Arrays.asList转化的list不是真的List 不能用remove,要用 new ArrayList转化 2、遍历list删除符合条件的元素
- JAVA List 一边遍历一边删除元素,报java.util.ConcurrentModificationException异常
- 怎么在遍历的时候删除List元素呢?
- Java集合之List遍历找到匹配元素删除方法总结
- python中list用法及遍历删除元素
- list,set等集合遍历时,不能remove集合中的元素。需要new一个Object或者list,set,里面add需要删除的元素,等集合遍历完了进行remove(Object)或者removeAll(list/set)操作
- 正确遍历删除List中的元素方法(推荐)
- 正确遍历删除List中的元素
- 如何正确遍历删除List中的元素