Java 从arraylist添加或删除元素时出错
我需要遍历arrayList,并根据某些条件从中添加/删除元素。问题是,在添加/删除arrayList后,其大小会发生变化,因此会出现空指针异常错误。任何帮助都将不胜感激Java 从arraylist添加或删除元素时出错,java,arrays,arraylist,data-structures,error-handling,Java,Arrays,Arraylist,Data Structures,Error Handling,我需要遍历arrayList,并根据某些条件从中添加/删除元素。问题是,在添加/删除arrayList后,其大小会发生变化,因此会出现空指针异常错误。任何帮助都将不胜感激 public class hello{ MyArrayList<Integer> list = new MyArrayList<>(); list.add(1); list.add(2); ....... for (int i = 0; i < list.size(
public class hello{
MyArrayList<Integer> list = new MyArrayList<>();
list.add(1);
list.add(2);
.......
for (int i = 0; i < list.size(); i++){
if(//some condition){
list.add(//something);
}
else if(//some condition){
list.remove(//something);
}
}
}
公共类你好{
MyArrayList=新建MyArrayList();
增加第(1)款;
增加(2);
.......
对于(int i=0;i
假设MyArrayList类扩展了ArrayList,则可以使用ListIterator遍历列表并添加/删除元素
您应该使用foreach循环。这样,无论添加或删除元素时大小如何变化,都将遍历列表中的每个元素 下面是一个例子:
for(Integer number : list) {
if(number <= 1){
list.remove(number);
}
else if(number >= 3) {
list.add(number + 1);
}
}
for(整数:列表){
如果(数字=3){
列表。添加(编号+1);
}
}
您还可以使用流API并使用过滤器或映射遍历所有元素,如下所示:
list.stream().filter(a->"some condition").map(a-> "some mapping").collect("some collector")