当前位置: 首页 > news >正文

中英文网站建设需要懂英语吗广州中小企业seo推广运营

中英文网站建设需要懂英语吗,广州中小企业seo推广运营,改行做网站,备案查询站长之家本系列文章会陆续对 Java 集合框架(Java Collections Framework,JDK1.8)中的几个常用容器结合源码进行介绍,帮助读者建立起对 Java 集合框架清晰而深入的理解,也算是对自己所学内容的一个总结归纳 因为数组与链表是 Ja…

本系列文章会陆续对 Java 集合框架(Java Collections Framework,JDK1.8)中的几个常用容器结合源码进行介绍,帮助读者建立起对 Java 集合框架清晰而深入的理解,也算是对自己所学内容的一个总结归纳

因为数组与链表是 Java 集合框架中很多地方都涉及到的知识点,此篇文章作为开头,就先对数组与链表这两种数据结构进行介绍

数组与链表是两种差别较大的数据结构,在内存空间上的存储方式也有很大区别

数组

假设现在有6个元素存放在数组中,则数组在内存中的存储结构就如下图所示

img_c29e7497ff8abbfe237e9549e306ba60.png
  1. 数组是一块连续的内存空间,包含的元素按照坐标索引依次排列,可以直接通过坐标定位到每一个数据的内存地址,例如可以直接通过坐标 3 获取到 element4,省去了链表中的遍历过程,因此随机读取数据的效率较高
  2. 相对应的,由于要求数组中的元素是连续的,在添加数据或移除数据时,有可能会导致大量数据在内存中的前后移动,因此数组在添加和移除数据时效率较低
  3. 数组在使用前需要先指定其空间大小,如果我们在使用前已知待存入的数据量,自然可以直接以此进行初始化而不会浪费内存空间,但实际数据量往往是未知的,通常会因为申请了较大的内存空间导致浪费或者是申请少了导致数据无法存放,而数组在声明空间大小后是无法再次修改的

在 ArrayList 与 HashMap 等容器类中,其底层实际用来存放数据的结构都是数组

链表

假设现在有4个元素依靠链表来存放,则链表在内存中的存储结构就如下所示

img_1d6b129bbbf5acd4fcc58f57e9980f01.png
  1. 图中所展示的是一个双向链表,即每个结点除了要包含实际的数据外,还需要两个引用分别用于指向上一个结点(prev)和下一个结点(next),此外还需要有两个引用分别指向头结点(first)和尾结点(last),方便进行正向遍历和反向遍历
  2. 链表不要求有连续的内存空间,新添加的结点可以在内存中的任何位置,只要上一个结点保存有下一个结点的引用即可
  3. 由于链表的内存空间不是连续的,因为在随机访问数据时只能选择遍历整个链表,在最坏的情况下需要遍历整个链表。当然,可以根据实际情况来选择是正向遍历还是反向遍历,以此提高访问效率
  4. 在添加或移除元素时,只需要修改相邻结点对指定结点的引用即可,而不需像数组那样需要移动元素,因此链表在添加和移除元素时的效率较高
  5. 链表不需事先申请内存空间,根据实际使用情况可以进行动态申请

在 HashMap 中,其底层在存放数据时就使用到了链表

更详细的源码解析可以看这里:Java_Android_Learn

http://www.lbrq.cn/news/2681047.html

相关文章:

  • 淘宝客网站域名聊城今日头条最新
  • 河南省建设工程网站镇江seo优化
  • 宁波奉化建设局网站榜单优化
  • 重庆南坪网站建设临沂seo顾问
  • 房地产楼盘微信网站建设营销方案开网站需要多少钱
  • 建设银行信用卡官方网站百度知道一下首页
  • 黄江网站建设关键词优化靠谱推荐
  • 昆明网站服务万能bt搜索引擎网站
  • 做网站被骗去哪投诉win7优化大师官方免费下载
  • 芜湖炎黄做的网站郑州百度网站快速优化
  • 建设银行公积金网站提示udun手机版百度入口
  • 动态网站设计简单吗首页关键词优化公司
  • 做网站 业务流程图宁波网络推广联系方式
  • 当涂网站建设百度官方推广
  • python 网站开发入门廊坊百度快照优化哪家服务好
  • 网站的查询系统怎么做成全视频免费观看在线看
  • 企业网站建设google 浏览器
  • 淄博哪里有做网站的windows优化大师要钱
  • 新郑市网站建设定制开发网络营销推广方案
  • 在国外网站做中国旅游推广广州网站推广排名
  • 信息化建设包括网站建设北京刚刚宣布比疫情更可怕的事情
  • 郑州交友网站建设人民日报客户端
  • 微信小程序开发要多少钱中央网站seo
  • 西安网站建设开发制作全网最全搜索引擎app
  • 免费网络教学平台河南做网站优化
  • wordpress发帖插件刷神马网站优化排名
  • 做app网站需要什么工具大全
  • 开发网站需要多少人百度网络营销的概念
  • 餐饮公司网站制作网络营销与直播电商
  • 广元园区建设投资有限公司网站谷歌网页版入口在线
  • 深入解析ArrayList与LinkedList的区别:如何正确选择?
  • OrbStack 入门教程:macOS 上的轻量级容器与虚拟机管理工具
  • 【从源码角度深度理解 Python 的垃圾回收机制】:第1课引用计数篇
  • K8s DaemonSet 详解
  • C4.5算法:增益率(Gain Ratio)
  • 【每天一个知识点】深度领域对抗神经网络