list的三个实现类的区别
来源:互联网 发布:最优化理论与方法 编辑:程序博客网 时间:2024/06/07 05:38
List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下:
- ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。
- Vector与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问ArrayList慢。
- LinkedList是用链表结构存储数据的,很适合数据的动态插入和删除,随机访问和遍历速度比较慢。另外,他还提供了List接口中没有定义的方法,专门用于操作表头和表尾元素,可以当作堆栈、队列和双向队列使用。
0 0
- list的三个实现类的区别
- java中List的三个实现类
- 【广告项目】Java 实现list接口的三个常用类
- 【JavaSE_学习笔记】List接口的三个子实现类
- 关于Java中List三个实现类区别
- List接口各实现类的区别
- 三个函数的区别
- 三个数据库的区别
- String,StringBuilder,StringgBuffer三个类的区别?
- 数据结构之数组和链表的区别和List的三个子类的特点
- 关于C#中数组、ArrayList与List三个对象的使用区别
- C#中数组、ArrayList与List三个对象的使用区别
- 三个工厂模式的区别
- 三个工厂模式的区别
- iBatis三个版本的区别
- String三个空的区别
- java集合list的三个子类
- 三个类之间的相互调用实现
- 3.3 全局变量和局部变量
- 使用Entify Framework 6.x的事务操作
- 3.4 函数调用机制
- Java 完成部分水吧点饮品系统的:点饮品,饮品管理片段的实现
- IOS加密方式
- list的三个实现类的区别
- 压链栈与进链队列和创建线性表的关系
- WIN10 SSD也卡机?修改注册表关闭MSI Mode
- hadoop MapReduce运行机制
- Deep Learning(深度学习)之LeNet-5卷积参数个人理解
- 3.5 作用域与标识符的可见性
- thrift 核心知识点
- 3.6 变量存储类型与标识符生命期
- Android 吐司 Toast 自定义 一行神奇的代码