迭代器ListIterator的add()方法与集合List的add()方法有什么不一样?
1个回答
展开全部
效果没有区别,但使用上区别很大。
考虑在迭代中使用add()、remove()等方法
使用迭代器调用Iterator.add()、Iterator.remove()后,Iterator.next()还是指向原来的元素
而使用for(int i = 0; i< list.size(); i++)循环调用list.add(i, obj)后,下一个i指向的是新增的元素,而调用list.remove(i),则下一个i会跳过一个元素。
因此大部分迭代的情况还是优先考虑使用迭代器。
考虑在迭代中使用add()、remove()等方法
使用迭代器调用Iterator.add()、Iterator.remove()后,Iterator.next()还是指向原来的元素
而使用for(int i = 0; i< list.size(); i++)循环调用list.add(i, obj)后,下一个i指向的是新增的元素,而调用list.remove(i),则下一个i会跳过一个元素。
因此大部分迭代的情况还是优先考虑使用迭代器。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询