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

网站设计制作什么时候好响应式网站模版

网站设计制作什么时候好,响应式网站模版,wordpress外链站内打开,建设公司网站多少钱一、ArrayList 数据结构与存储原理 ArrayList是基于动态数组实现的。它在内存中是一块连续的存储空间。当创建一个ArrayList时#xff0c;会初始化一个默认大小#xff08;通常为10#xff09;的数组。随着元素的不断添加#xff0c;如果数组容量不够#xff0c;会进行扩…一、ArrayList 数据结构与存储原理 ArrayList是基于动态数组实现的。它在内存中是一块连续的存储空间。当创建一个ArrayList时会初始化一个默认大小通常为10的数组。随着元素的不断添加如果数组容量不够会进行扩容操作一般是创建一个更大的数组如原数组大小的1.5倍然后将原数组中的元素复制到新数组中。性能特点 随机访问性能好由于其基于数组的存储方式通过索引访问元素非常快速时间复杂度为O(1)。例如使用get(int index)方法获取指定索引的元素时直接通过数组下标就可以定位到元素。插入和删除性能较差除末尾操作在中间位置插入或删除元素时需要移动后面的元素时间复杂度为O(n)。比如在索引为3的位置插入一个元素那么索引3及其后面的所有元素都要向后移动一位。不过在末尾添加元素的时间复杂度为O(1)。常用场景 适用于需要频繁进行随机访问操作并且对元素的添加和删除操作主要在末尾进行的场景。例如存储一组学生的成绩需要经常查询某个学生的成绩随机访问偶尔在末尾添加新的成绩数据。 二、Vector 数据结构与存储原理 Vector和ArrayList类似也是基于动态数组实现的。不同的是Vector是线程安全的它的很多方法都是通过synchronized关键字修饰的这意味着在多线程环境下多个线程访问同一个Vector对象时会进行同步控制。性能特点 线程安全带来的性能损耗由于其线程安全的特性在多线程并发访问时需要进行同步锁的获取和释放操作这使得它的性能相对ArrayList要低。在单线程环境下它的性能和ArrayList类似。随机访问性能好同样基于数组结构随机访问元素的时间复杂度为O(1)。插入和删除性能较差除末尾操作在中间插入或删除元素时需要移动元素时间复杂度为O(n)在末尾添加元素时间复杂度为O(1)。常用场景 在多线程环境下如果需要一个线程安全的动态数组结构来存储数据时可以使用Vector。不过在Java 5之后更推荐使用Collections.synchronizedList(new ArrayList())这种方式来创建线程安全的列表因为它比Vector更灵活并且在非并发情况下性能更好。 三、LinkedList 数据结构与存储原理 LinkedList是基于双向链表实现的。每个节点包含了数据元素、指向前一个节点的引用和指向后一个节点的引用。性能特点 随机访问性能差由于链表结构要访问链表中的某个元素需要从链表头或尾开始逐个节点遍历时间复杂度为O(n)。例如使用get(int index)方法获取指定索引的元素时需要遍历链表找到该元素。插入和删除性能好特别是在中间位置在链表中插入或删除一个元素只需要修改节点之间的引用关系时间复杂度为O(1)如果已经定位到要插入或删除的节点位置。但是如果要根据索引插入或删除元素需要先遍历链表找到该索引对应的节点这个遍历过程的时间复杂度为O(n)。常用场景 适用于需要频繁进行插入和删除操作尤其是在列表中间而对随机访问操作要求不高的场景。例如实现一个简单的队列或者栈结构使用LinkedList就比较合适。 ArrayList的常用方法 ArrayList是Java中常用的动态数组它实现了List接口提供了一系列用于操作数组的方法。以下是一些ArrayList的常用方法 add(E e)将指定的元素添加到列表的末尾。add(int index, E element)将指定的元素插入到指定位置。remove(int index)移除指定位置的元素。remove(Object o)移除指定的元素。get(int index)获取指定位置的元素。set(int index, E element)替换指定位置的元素。size()返回列表中的元素个数。isEmpty()判断列表是否为空。contains(Object o)判断列表是否包含指定的元素。clear()清空列表中的所有元素。toArray()将列表转换为数组。sort(Comparator? super E c)对列表中的元素进行排序。 Vector的常用方法 Vector是Java中的一个动态数组它与ArrayList类似但Vector是线程安全的。以下是一些Vector的常用方法 add(E e)将指定的元素添加到向量的末尾。add(int index, E element)将指定的元素插入到指定位置。remove(int index)移除指定位置的元素。remove(Object o)移除指定的元素。get(int index)获取指定位置的元素。set(int index, E element)替换指定位置的元素。size()返回向量中的元素个数。isEmpty()判断向量是否为空。contains(Object o)判断向量是否包含指定的元素。clear()清空向量中的所有元素。toArray()将向量转换为数组。sort(Comparator? super E c)对向量中的元素进行排序。 LinkedList的常用方法 LinkedList是Java中的一个双向链表它实现了List接口提供了一系列用于操作链表的方法。以下是一些LinkedList的常用方法 add(E e)将指定的元素添加到链表的末尾。add(int index, E element)将指定的元素插入到指定位置。remove(int index)移除指定位置的元素。remove(Object o)移除指定的元素。get(int index)获取指定位置的元素。set(int index, E element)替换指定位置的元素。size()返回链表中的元素个数。isEmpty()判断链表是否为空。contains(Object o)判断链表是否包含指定的元素。clear()清空链表中的所有元素。toArray()将链表转换为数组。sort(Comparator? super E c)对链表中的元素进行排序。 总结 ArrayList、Vector和LinkedList都是Java中常用的集合类它们都实现了List接口提供了一系列用于操作列表的方法。ArrayList和Vector都是基于数组实现的而LinkedList是基于双向链表实现的。ArrayList和Vector在大多数情况下可以互换使用但Vector是线程安全的因此在多线程环境下可能更适合。LinkedList在插入和删除操作上比ArrayList和Vector更高效但在随机访问上比它们慢。
http://www.hkea.cn/news/14501449/

相关文章:

  • 哪个网站服务器比较好搜索引擎广告的优缺点
  • 仿58网站源码微信营销案例ppt
  • vs2015 网站开发精品课程网站建设论文
  • 郑州网站建设郑州网络推广唐山移动互联网开发
  • 网站转入备案wordpress 字体不好看
  • 个人做网站名称可以随意更改吗施工企业安全生产考核评定应分为
  • 怎么在虚拟机中做网站普像工业设计网站
  • 新闻发布网站模板长沙网络公司排行榜
  • 西安高端网站制作公司哪家好广东的网站备案
  • 网站的关键词库wordpress禁止前台登录
  • 网站模板大全 优帮云网站开发学什么数据库
  • 检测网站速度什么公司需要建立网站吗
  • 信息无障碍 网站建设望野王绩
  • 求和萝莉做的网站什么网站比谷歌还好
  • 网站备案要钱么安徽省建筑人员信息网
  • 怎么做免费的网站链接医药网站设计
  • 网站建设与管理 需求分析桥头网站建设
  • 铺面怎样做放上网站武威 网站开发
  • 知名网站制作公司没有网站百度推广
  • 建设银行网站一直打不开wordpress的程序文件
  • 百家号seo怎么做购物网站怎么做优化
  • 盛泽建设局网站丹阳建站
  • 民非企业网站建设费怎么记账网站运营与管理的目的是
  • 淘宝客网站怎么批量采集淘宝商品方维采集淘宝数据思路WordPress播放背景音乐
  • 怎样做一个单页面网站蚌埠网站建设公司
  • 网站整体风格设计滨州制作网站
  • 福建 专业网站建设公司网站模板能自己做吗
  • 自己做自己的私人网站国外商城网站设计
  • 网站 设计淄博做网站公司有哪些
  • 中企动力技术支持网站台州百度推广优化