简体   繁体   English

使用迭代器从 ArrayList 中删除元素

[英]Removing element from ArrayList using Iterator

I have removed elements from Arraylist using iterator.我已经使用迭代器从 Arraylist 中删除了元素。 But after removing size is not reduced and values remains same in Arraylist.但在删除大小后,Arraylist 中的值并没有减小,并且值保持不变。 I have used ArrayList as a class level variable.我使用 ArrayList 作为 class 级别变量。 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();
}

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");
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM