迭代器的源码,以及两个经典方法
面试题:迭代器对应的关系
hashnext与next方法的具体实现 增强for循环起始底层也是用迭代器完成的用debug查看增强for循环,会发现,执行的下一步还是会进到iterator里
listirerator加入字符串,比如我们想想要在代码中遍历到cc后新增一个kk
List list = new ArrayList(); list.add("aa"); list.add("bb"); list.add("cc"); list.add("dd"); list.add("ee"); Iterator iterator = list.iterator(); while (iterator.hasNext()){ if ("cc".equals(iterator.next())){ list.add("kk"); } }
控制台发生并发修改异常
出错原因:
迭代器和lsit同时 *** 作集合,
如何解决:事情让一个迭代器做,新迭代器:listiterator,迭代和添加 *** 作都用listiterator来 *** 作
ListIterator iterator = list.listIterator(); while (iterator.hasNext()){ if ("cc".equals(iterator.next())){ iterator.add("kk"); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)