ArrayList详细描述
来源:互联网 发布:有问必答的语音软件 编辑:程序博客网 时间:2024/05/21 16:57
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。并未指定增长策略的细节,因为这不只是添加元素会带来分摊固定时间开销那样简单在添加大量元素前,应用程序可以使用 ensureCapacity 操作来增加 ArrayList 实例的容量。
ArrayList:线程不安全,查询速度快,底层数据结构是数组结构,扩容增量是原容量的 0.5倍+1,如 ArrayList的容量为10,一次扩容后是容量为16。
Vector:线程安全,但速度慢,底层数据结构是数组结构,加载因子为1,即当 元素个数 超过 容量长度 时,进行扩容,扩容增量是原容量的1倍,如 Vector的容量为10,一次扩容后是容量为20。
0 0
- ArrayList详细描述
- 详细描述
- 详细描述 收购手帐用例的详细描述
- ArrayList 集合详细使用方法
- DOCTYPE详细描述
- 数据库事务详细描述
- AOP 详细描述
- SQL数据类型详细描述
- S3C2440时钟详细描述
- S3C2440时钟详细描述
- S3C2440时钟详细描述
- SIFT特征详细描述
- S3C2440时钟详细描述
- Ant使用详细描述
- SIFT特征详细描述
- log4j 配置文件详细描述
- ArrayList—— ArrayList详细介绍
- vector与arraylist 详细比较
- STM32学习之路:第十三天
- L2-019. 悄悄关注
- caffe训练图片的问题及对策
- 蓝桥杯 2016 省赛B组 四平方和 (暴力)
- 线程的常用方法
- ArrayList详细描述
- linux下自动生成Makefile
- A brief analysis of vatic & labelme
- android 学习笔记一 像素知识点
- 欢迎使用CSDN-markdown编辑器
- 微信:小程序将对个人开放,与公众号增加玩法
- ESP8266初识小结
- L2-017. 人以群分
- ListView 中item 单选