ArrayList LinkList Vector 的相同和不同
2015-11-05 13:02
393 查看
ArrayList 和 LinkList 的 相同 和 差别
ArrayList 内部是数组实现的
LinkList 内部是链表实现的
当遇到读取比较多,插入、删除比较少的时候,推荐使用ArrayList
插入删除速度需要移动大量元素;而当遇到插入删除比较多的时候,推荐使用LinkedList
LinkList 的链表结构 每个节点上还存放着下一个节点的引用
链表结构不支持随机访问,换句话来说,虽然LinkList 提供了 .get(index)
这样的方法,但是每次都是从链表结构的第一位来遍历的,所以说性能会非常的差。
千万不能用LinkList 写如下For(int i =0;i linkList.size();i++){}这样的循环性能会非常差
Vector 和 ArrayList 的差别
Vector 和 ArrayList 几乎是一模一样的,实现的方法也一样
Vector是线程安全的,每个方法都加了synchronized修饰符,而ArrayList没有
ArrayList 内部是数组实现的
LinkList 内部是链表实现的
当遇到读取比较多,插入、删除比较少的时候,推荐使用ArrayList
插入删除速度需要移动大量元素;而当遇到插入删除比较多的时候,推荐使用LinkedList
LinkList 的链表结构 每个节点上还存放着下一个节点的引用
链表结构不支持随机访问,换句话来说,虽然LinkList 提供了 .get(index)
这样的方法,但是每次都是从链表结构的第一位来遍历的,所以说性能会非常的差。
千万不能用LinkList 写如下For(int i =0;i linkList.size();i++){}这样的循环性能会非常差
Vector 和 ArrayList 的差别
Vector 和 ArrayList 几乎是一模一样的,实现的方法也一样
Vector是线程安全的,每个方法都加了synchronized修饰符,而ArrayList没有
相关文章推荐
- delphi property
- next数组求最小循环节
- Java数据类型转换规则
- boost asio 应用方法学(二)——深入框架
- 仿QQ聊天(1)—无形装比,最为致命
- ubuntu 安装boost 库
- 【HTTP】模拟form提交表单(转)
- 报表设计--交叉报表-多层交叉
- ubuntu如何修改root密码
- How to migrate from VMware and Hyper-V to OpenStack
- 喜讯:我站(yav.cc)双11活动提前来临咯
- 35 个 Java 代码性能优化总结
- 进程(线程)间同步互斥问题(四) 三个烟鬼问题
- 启用Nginx目录浏览功能的方法
- XML编辑软件AltovaXMLSpy下载安装
- linux的用户、用户组与文件操作权限
- Java四类八种数据类型
- Java Servlet工作原理问答
- (JAVA)获取图片轮廓
- 转载: IM系统架构设计之浅见