ArrayList笔记
2016-07-06 15:33
253 查看
elementData是一个缓存数组,它通常会预留一些容量,等容量不足时再扩充容量,这个楼主一定是明白的,不用多解释。 假如现在实际有了5个元素,而elementData的大小可能是10,那么在序列化时只需要储存5个元素,数组中的最后五个元素是没有实际意义的,不需要储存。 所以ArrayList的设计者将elementData设计为transient,然后在writeObject方法中手动将其序列化,并且只序列化了实际存储的那些元素,而不是整个数组
ArrayList在迭代的时候是不能修改的
ArrayList内部内中的迭代器Itr在调用next()方法时,会判断集合是否被修改(add,remove),若被修改则抛异常。
http://blog.csdn.net/chenssy/article/details/37521461
相关文章推荐
- MD5的应用场景
- ConfigurationException异常
- Python中yield的用法
- Swift - Alamofire - GET/POST/upload 的使用
- 处理类型
- Norflash 驱动
- C 实现通用Tween缓动动画(3)快捷链式调用接口
- Jquery属性获取——attr()与prop()
- Java之定时任务详解
- 深入分析Java ClassLoader原理
- 豌豆荚使用到的开源技术
- 验证邮箱和手机号码是否有效的正则表达式
- GridView 的Item不能居中显示
- 【Hadoop】HDFS的运行原理
- Echarts树图结构中图例的选择显示功能实现
- [51nod1040]最大公约数之和
- 如何使用JavaScript调用android原生代码,android原生代码调用JavaScript
- 写给互联网创业的年轻人
- eclispe报错PermGen space
- Linux的内存回收和交换