千家信息网

Vector,ArrayList,LinkedList分别是什么

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要讲解了"Vector,ArrayList,LinkedList分别是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Vector,Arr
千家信息网最后更新 2024年09月22日Vector,ArrayList,LinkedList分别是什么

这篇文章主要讲解了"Vector,ArrayList,LinkedList分别是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Vector,ArrayList,LinkedList分别是什么"吧!

说起Vector,ArrayList,LinkedList 想必Java开发者都已经非常熟悉,这三个类基本上每月甚至每周都有人发出一遍来,故此网友将此类博客或回帖称之为挖坟。

孔老夫子说得好啊,"温故而知新,可以为师矣"(我确定不是鲁迅说的)。

即便是咱们记得滚瓜烂熟的类啊函数啊,有时候还是有必要拉出来回顾一下。

我先不说这三个类有什么定义上的区别。咱们先从性能指数来看看,同样的添加和删除10w和整数,在添加和删除的耗时情况。

插入速度:不太明显的是,在插入方面LinkedList要快Verctor和ArrayList大概不到2倍。当然了,在少量的数据上,效果差异并没有太大区别。所有离开场景的比对都是耍流氓,要说明的是Vector在插入元素时在方法上加了锁,各位同学想必都知道锁是一种安全但CPU开销很大的东西。所以一般来说不管是自己实现的方法还是原生的,要慎重判断是否需要使用锁。

public synchronized boolean add(E e) {    modCount++;    ensureCapacityHelper(elementCount + 1);    elementData[elementCount++] = e;    return true;}

删除速度:这个差距就非常明显了,LinkedList怎么这么优秀?那还用什么ArrayList?嘿嘿,别着急啊,看看访问速度先。

访问速度:哇去,竟然差这么多?刚刚还夸你优秀,我用你个鬼,你个糟老集合坏得很。这其实是因为它的实现是双向链表的原因,访问某个元素是只能是一直寻找next,找到了才返回,不能通过下标找到。

public boolean remove(Object o) {    if (o == null) {        for (Node x = first; x != null; x = x.next) {            if (x.item == null) {                unlink(x);                return true;            }        }    } else {        for (Node x = first; x != null; x = x.next) {            if (o.equals(x.item)) {                unlink(x);                return true;            }        }    }    return false;}

所以到这里大家知道怎么选择使用自己需要的集合了吧?

感谢各位的阅读,以上就是"Vector,ArrayList,LinkedList分别是什么"的内容了,经过本文的学习后,相信大家对Vector,ArrayList,LinkedList分别是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

速度 学习 优秀 明显 三个 元素 内容 情况 方法 还是 很大 着急 必要 温故而知新 滚瓜烂熟 耍流氓 一般来说 下标 东西 函数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库数据类型的查询向导怎么弄 武威软件开发哪家专业 给数据库用户分配权限 软件开发 评估 华为将出售x86服务器 手游如何自己制作一个服务器 所谓数据库访问 它要求 联想服务器安装双处理器 四川邮电网络技术单招录取分数线 oa系统数据库源代码下载 js获取数据库的列 网络安全重要知识点 南京电商软件开发供应商 网络安全绘画简笔画四年级 图书馆网络安全需求 计算机网络技术职业素养要求 mvc的ef连接数据库 龙港中先互联网科技有限公司 泉州市橙为网络技术有限公司 湖南自动量化交易软件开发费用 做券商网络安全的公司 我的iphone服务器设置 广联达当前工程数据库损坏 网络安全法规定的选择有 加强监督构建网络安全作文 app 软件开发功能介绍 pda服务器安装 慕课数据库应用 贵港计算机网络技术招聘 企业微信登录要求设置服务器
0