我有两个类型为 List<Integer[]>
的列表:A.Unassigned
和A.Shanghai
.
我尝试了以下方法:
Iterator<Integer[]> UnassignedIt = A.Unassigned.iterator();
A.Shanghai.add(UnassignedIt.next());
UnassignedIt.remove();
但它给出了 NoSuchElementException
:
java.util.NoSuchElementException at java.util.AbstractList$Itr.next(Unknown Source)
[如何解决这个问题?]
最佳答案
检查此代码:
List listA = new ArrayList(); listA.add(1); listA.add(2); listA.add(3);
List<Integer> listB = new ArrayList<Integer>();
Iterator<Integer> iterator = listA.iterator();
while(iterator.hasNext()){
Integer obj = iterator.next();
listB.add(obj);
iterator.remove();
}
如果您尝试访问的列表(使用 iterator.next()
)为空,则会发生 java.util.NoSuchElementException
。因此,在执行此操作之前最好检查一下 iterator.hasNext()
是否存在。
关于java - Java中如何从一个列表中删除一个元素,同时将其添加到另一个列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12685438/