ArrayList,Vector, LinkedList 的存储性能和特性
2024-08-28 23:44:46
ArrayList 和Vector他们底层的实现都是一样的,都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢。
Vector中的方法由于添加了synchronized修饰,因此Vector是线程安全的容器,但性能上较ArrayList差,因此已经是Java中的遗留容器。
LinkedList使用双向链表实现存储(将内存中零散的内存单元通过附加的引用关联起来,形成一个可以按序号索引的线性结构,这种链式存储方式与数组的连续存储方式相比,内存的利用率更高),按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
最新文章
- JavaScript很牛
- Xcode设置
- JQuery学习(1)
- ACdream 1188 Read Phone Number (字符串大模拟)
- Mongoose学习参考文档
- Introduction to Haskell
- 用Shell实现俄罗斯方块代码(Tetris.sh)
- 【转载】Kafka实现篇之消息和日志
- Cloud Insight 和 BearyChat 第一次合体,好紧张!
- 由href return false 来看阻止默认事件
- hdu3709(数位dp)
- Spring Boot中采用Mockito来mock所测试的类的依赖(避免加载spring bean,避免启动服务器)
- bzoj 2750: [HAOI2012]Road
- (一)surging 微服务框架使用系列之surging 的准备工作rabbitmq安装
- javascript同步分页
- 基于 Java NIO 实现简单的 HTTP 服务器
- Dynamic Rankings
- sql-我写的或者其他人写的
- Node.js完整的响应html页面(包括css,js文件)
- unity3D客户端框架