从ArrayList中删除所有null使用Iterator的remove()方法

jag*_*tre 0 java collections iterator arraylist cursor

我是Java的新手.我只是在Collection Framework中寻找Iterator.但现在我想通过使用Iterator的remove()方法从ArrayList中删除所有null.所以尝试了下面的代码,但我没有得到预期的输出,因为我想要一个没有任何空值的列表.请解释一下谢谢.

这是我的代码

package setinterface;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

public class InternalWorkingOfArrayList {

    public static void main(String[] args) {

        List<String> setOfString = new ArrayList<String>();
        setOfString.add("A");
        setOfString.add("B");
        setOfString.add("C");
        setOfString.add("B");
        setOfString.add(null);
        setOfString.add("A");
        setOfString.add(null);


        Iterator<String> iterator = setOfString.iterator();
        while (iterator.hasNext()) {
            String string = (String) iterator.next();
            if (null==string) {
                iterator.remove();
                break;
            }   
        }
        for (String string1 : setOfString) {
            System.out.println(string1);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Rah*_*hul 5

你为什么打破了循环?从代码中删除break语句.

while (iterator.hasNext()) {
            String string = (String) iterator.next();
            if (null==string) {
                iterator.remove();
                //break;
            }   
        }
Run Code Online (Sandbox Code Playgroud)