Home > Java > javaTutorial > How to loop through and delete elements in List and Set collections in java (recommended)

How to loop through and delete elements in List and Set collections in java (recommended)

高洛峰
Release: 2017-01-23 16:52:13
Original
2172 people have browsed it

When I was working on a project today, I needed to delete certain elements in List and Set. At that time, I used the method of traversing and deleting while traversing, but the following exception was reported:

ConcurrentModificationException

For Don’t forget it in the future, use a bad pen to record it as follows:

How to write the error code, that is, how to report the above exception:

Set<CheckWork> set = this.getUserDao().getAll(qf).get(0).getActionCheckWorks();
for(CheckWork checkWork : set){
  if(checkWork.getState()==1){
    set.remove(checkWork);
  }
}
Copy after login

Note: Using the above writing method will report the above ConcurrenModificationException exception. The reason is that the collection cannot be traversed and deleted at the same time.

The correct way to write it is as follows:

1. Traverse and delete List

List<CheckWork> list = this.getUserDao().getAll();
Iterator<CheckWork> chk_it = list.iterator();
while(chk_it.hasNext()){
  CheckWork checkWork = chk_it.next();
  if(checkWork.getPlanState()==1){
    chk_it.remove();
  }
}
Copy after login

2. Traverse and delete Set

Set<CheckWork> set = this.getUserDao().getAll().get(0).getActionCheckWorks();
        Iterator<CheckWork> it = set.iterator();
        while(it.hasNext()){
            CheckWork checkWork = it.next();
            if(checkWork.getState()==1){
                it.remove();
            }
        }
Copy after login

The above method (recommended) for looping through and deleting elements in List and Set collections in Java is all the content shared by the editor. I hope it can give you a For reference, I also hope that everyone will support the PHP Chinese website.

For more methods of looping through and deleting elements in List and Set collections in Java (recommended), please pay attention to the PHP Chinese website for related articles!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template