Reputation: 359
I have removed elements from Arraylist using iterator. But after removing size is not reduced and values remains same in Arraylist. I have used ArrayList as a class level variable. Doesn't know why it is not working. Below is my code,
public class MyClass{
private ArrayList<String> valueArrayList;
Iterator itr = valueArrayList.iterator();
while (itr.hasNext())
if (validateFile((String) itr.next())) {
Log.d(LOG_TAG, "values removed");
} else
itr.remove();
}
Upvotes: 0
Views: 75
Reputation: 747
It's should be
Iterator<String> itr = valueArrayList.iterator();
while (itr.hasNext()) {
// If file doesn't exist
if (!validateFile(itr.next())) {
itr.remove(); // delete from list
Log.d(LOG_TAG, "values removed");
}
}
Upvotes: 3