Vector
2015-12-13 18:45
113 查看
Vector类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,
Vector的大小可以根据需要增大或缩小,以适应创建
Vector后进行添加或移除项的操作。
每个向量会试图通过维护
capacity和
capacityIncrement来优化存储管理。
capacity始终至少应与向量的大小相等;这个值通常比后者大些,因为随着将组件添加到向量中,其存储将按
capacityIncrement的大小增加存储块。应用程序可以在插入大量组件前增加向量的容量;这样就减少了增加的重分配的量。
由 Vector 的 iterator 和 listIterator 方法所返回的迭代器是快速失败的:如果在迭代器创建后的任意时间从结构上修改了向量(通过迭代器自身的 remove 或 add 方法之外的任何其他方式),则迭代器将抛出 ConcurrentModificationException。因此,面对并发的修改,迭代器很快就完全失败,而不是冒着在将来不确定的时间任意发生不确定行为的风险。Vector
的 elements 方法返回的 Enumeration 不是 快速失败的。
注意,迭代器的快速失败行为不能得到保证,一般来说,存在不同步的并发修改时,不可能作出任何坚决的保证。快速失败迭代器尽最大努力抛出
ConcurrentModificationException。因此,编写依赖于此异常的程序的方式是错误的,正确
相关文章推荐
- spring支持JCP的JSR330规范,使用javax.inject
- wamp集成环境下的配置问题 ----显示字符集的问题
- 糯米团—重制“iPhone团购信息客户端”(零)源代码与跳的那些坑和思考
- 【树】二叉树的各种操作
- 决策树
- viewDidAppear什么时候调用?
- 多个Flume合并一个channel上传文件到Hdfs
- C语言
- 《java并发编程实战》随笔——第二章 线程安全性
- 看德日进,凯文·凯利与Kurzweil老师?
- 云计算和SDN中的开源交换机介绍以及使用
- 单色VGA显示verilogHDL通用代码
- 日期选择器:jquery datepicker的使用
- id3算法(python代码)
- SLAM拾萃(1):octomap
- 数据挖掘笔记-特征选择-算法实现-1
- Tomcat设置默认启动项目及Java Web工程设置默认启动页面
- 语言差别
- 【HNOI2013】数列
- android如何使用自己定义JNI接口,以及NDK环境建设和使用的工具。