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)
你为什么打破了循环?从代码中删除break语句.
while (iterator.hasNext()) {
String string = (String) iterator.next();
if (null==string) {
iterator.remove();
//break;
}
}
Run Code Online (Sandbox Code Playgroud)