Sandhiya
Sandhiya

Reputation: 359

Removing element from ArrayList using Iterator

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

Answers (1)

bathudaide
bathudaide

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

Related Questions