Three methods of deleting Java list by traversal
This article mainly introduces three methods of Java list deletion by traversal. The example code is introduced in great detail, which has a certain reference value for everyone's study or work. Friends in need can refer to it
How to easily delete a list through three types of Java traversal:
1. For loop:
Common writing methods for the fifth day of junior high school: (the desired effect cannot be achieved due to subscript problems)
for(int i=0;i<list.size();i++){ if(list.get(i).equals("del")) list.remove(i); }
It should be changed to: (reverse order operation to avoid subscript problem)
int size = list.size(); for(int i=size-1;i>=0;i--){ if(list.get(i).equals("del")) list.remove(i); }
2. Enhanced for loop (foreach loop):
Common error: (concurrent modificationexception will be thrown)
for(String x:list){ if(x.equals("del")) list.remove(x); }
Should read:
//cowlist为原list CopyOnWriteArrayList<Record> list = new CopyOnWriteArrayList<Record>(cowList); for(String x:list){ if(x.equals("del")) list.remove(x); }
3. Iterator traversal: (note that if the remove method of iterator is used, the remove method of list cannot be used)
Iterator<String> it = list.iterator(); while(it.hasNext()){ String x = it.next(); if(x.equals("del")){ it.remove(); } }
It is best to use iterator traversal.
The above is the whole content of this article. I hope it will help you in your study, and I hope you will support us a lot.