博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ArrayList和LinkedList
阅读量:5252 次
发布时间:2019-06-14

本文共 539 字,大约阅读时间需要 1 分钟。

ArrayList

ArrayList其实是包装了一个数组 Object[],当实例化一个ArrayList时,一个数组也被实例化,当向ArrayList中添加对象是,数组的大小也相应的改变。这样就带来以下有缺点:
快速随即访问 你可以随即访问每个元素而不用考虑性能问题,通过调用get(i)方法来访问下标为i的数组元素。
向其中添加对象速度慢 当你创建数组是并不能确定其容量,所以当改变这个数组时就必须在内存中做很多事情。
操作其中对象的速度慢 当你要想数组中任意两个元素中间添加对象时,数组需要移动所有后面的对象。
LinkedList
LinkedList是通过节点直接彼此连接来实现的。每一个节点都包含前一个节点的引用,后一个节点的引用和节点存储的值。当一个新节点插入时,只需要修改其中保持先后关系的节点的引用即可,当删除记录时也一样。这样就带来以下有缺点:
操作其中对象的速度快 只需要改变连接,新的节点可以在内存中的任何地方
不能随即访问 虽然存在get()方法,但是这个方法是通过遍历接点来定位的所以速度慢。
说白了,就是数据结构中的顺序存储和链式存储

转载于:https://www.cnblogs.com/toSeeMyDream/p/5252938.html

你可能感兴趣的文章
Oracle--通配符、Escape转义字符、模糊查询语句
查看>>
子网划分讲解及练习(一)
查看>>
c# 文件笔记
查看>>
Vue 自定义指令
查看>>
帆软 控件内容 清除
查看>>
第一页 - 工具的使用(webstorm)
查看>>
The Number of set-hdu-3006
查看>>
ssh 免签登录 亲测可以
查看>>
Linux 进程资源用量监控和按用户设置进程限制
查看>>
IE浏览器整页截屏程序(二)
查看>>
D3.js 之 d3-shap 简介(转)
查看>>
制作满天星空
查看>>
MyBatis日记(三):戏说MyBatis配置文件
查看>>
类和结构
查看>>
CSS3选择器(二)之属性选择器
查看>>
java面试题-网络架构
查看>>
Openvswitch原理与代码分析(4):网络包的处理过程
查看>>
Openvswitch原理与代码分析(2): ovs-vswitchd的启动
查看>>
Open vSwitch Datapath浅析
查看>>
Openvswitch原理与代码分析(3): openvswitch内核模块的加载
查看>>