JAVA中iterator与add的顺序问题
先来一段代码:
ArrayList a = new ArrayList();a.add(new Integer(3));Iterator it = a.iterator();a.add(new String("hellow"));while(it.hasNext()){System.out.println(it.next());}
咋一看,这段代码貌似没有问题。可是运行之后却会报异常。
原因在哪里呢?
事实上,在编程过程中,容易出现先指定迭代器iterator,然后对链表增加节点,这样做是错误的。
原因是:由于在进行遍历集合时不能改变集合的长度,如果采用集合自带的API比如add、remove等方法对集合进行相关操作时候就会抛出异常。
JAVA中iterator与add的顺序问题相关推荐
- Java中Iterator类的详细介绍
迭代器模式:就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节. 概述 Java集合框架的集合类,我们有时候称之为容器.容器的种类有很多种,比如ArrayList.Li ...
- java中Iterator用法总结
Java中Iterator用法 迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级& ...
- java中iterator用法_java_详解Java中Iterator迭代器的用法,迭代器(Iterator)迭代 - phpStudy...
详解Java中Iterator迭代器的用法 迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为&quo ...
- Java中Iterator迭代器详解
目录 一.Java中Iterator迭代器详解 1.为什么需要迭代器 2.迭代器长什么样子 3.如何使用迭代器 使用步骤: 代码演示: 迭代器可以简化为增强型for循环: 4.Iterator与Lis ...
- java学习笔记-java中运算符号的优先顺序
java中各种运算符具有优先级顺序,一般会先计算优先级高的,再计算优先级低的.可以使用()使得优先级变为最高. 在算术运算中,优先级为 ++ -- * / + - 在在逻辑运算中的优先级是 ! 取反 ...
- 面试官:Java中线程是按什么顺序执行的?
本文分享自华为云社区<[高并发系列]Java中线程到底是按什么顺序执行的?你了解的可能是错误的!>,原文作者:冰 河 . Java中线程的执行顺序可能与你想的不一样!一文解密多线程的执行顺 ...
- Java 中Iterator 、Vector、ArrayList、List 使用深入剖析
标签:Iterator Java List ArrayList Vector 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些 ...
- Java中Iterator用法
迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...
- Java中Iterator用法整理
迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...
最新文章
- SpringBoot Mybatis解决使用PageHelper一对多分页问题
- asp.net performance
- (一)为什么你应该(从现在开始就)写博客
- 基于HTML5的WebGL呈现A星算法的3D可视化
- SAP UI5 应用开发教程之四十五 - 如何在 SAP UI5 应用里使用 jQuery 和原生的 DOM API
- Object-C基础入门笔记(一)
- [css] 使用css实现彩虹的效果
- 【excel技巧读书笔记001】清除打开过的文件记录
- mysql 失效转移_MySQL基于MHA的FailOver过程
- centos 更改root用户名(超简单)
- mysql插入性能测试
- oracle用户密码规则,使用Oracle自带profile以及函数简单设定Oracle用户名密码规则...
- 技术帝,教你认识海思芯片及ARM芯片技术科普
- 制作一个启动软盘并用bochs模拟器启动
- 花费巨资去培训SAP真的值得吗?
- 记录m3u8变成图片的解决办法
- Android开发之获取SIM卡信息和手机号码
- 「次时代建模」次时代游戏模型制作教程
- 设计模式、架构、框架
- Tomorrow never knows? (C程序设计进阶 第2周)