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

网站用户体验是什么三一重工的网站是哪家做的

网站用户体验是什么,三一重工的网站是哪家做的,wordpress生成站点地图,佛山网站制作哪家便宜ArrayList和LinkedList有什么区别#xff1f; ArrayList 是基于数组实现的#xff0c;LinkedList 是基于链表实现的。 二者用途有什么不同#xff1f; 多数情况下#xff0c;ArrayList更利于查找#xff0c;LinkedList更利于增删 由于 ArrayList 是基于数组实现的#…ArrayList和LinkedList有什么区别 ArrayList 是基于数组实现的LinkedList 是基于链表实现的。 二者用途有什么不同 多数情况下ArrayList更利于查找LinkedList更利于增删 由于 ArrayList 是基于数组实现的所以 get(int index) 可以直接通过数组下标获取时间复杂度是 O(1)LinkedList 是基于链表实现的get(int index) 需要遍历链表时间复杂度是 O(n)。 当然get(E element) 这种查找两种集合都需要遍历通过 equals 比较获取元素所以时间复杂度都是 O(n)。 ArrayList 如果增删的是数组的尾部直接插入或者删除就可以了时间复杂度是 O(1)如果 add 的时候涉及到扩容时间复杂度会提升到 O(n)。 但如果插入的是中间的位置就需要把插入位置后的元素向前或者向后移动甚至还有可能触发扩容效率就会低很多O(n)。 LinkedList 因为是链表结构插入和删除只需要改变前置节点、后置节点和插入节点的引用就行了不需要移动元素。 如果是在链表的头部插入或者删除时间复杂度是 O(1)如果是在链表的中间插入或者删除时间复杂度是 O(n)因为需要遍历链表找到插入位置如果是在链表的尾部插入或者删除时间复杂度是 O(1)。 注意这里有个陷阱LinkedList 更利于增删不是体现在时间复杂度上因为二者增删的时间复杂度都是 O(n)都需要遍历列表而是体现在增删的效率上因为 LinkedList 的增删只需要改变引用而 ArrayList 的增删可能需要移动元素。 二者是否支持随机访问呢 ①、ArrayList 是基于数组的也实现了 RandomAccess 接口所以它支持随机访问可以通过下标直接获取元素。②、LinkedList 是基于链表的所以它没法根据下标直接获取元素不支持随机访问所以它也没有实现 RandomAccess 接口。 二者的内存占用有何不同 ArrayList 是基于数组的是一块连续的内存空间所以它的内存占用是比较紧凑的但如果涉及到扩容就会重新分配内存空间是原来的 1.5 倍存在一定的空间浪费。LinkedList 是基于链表的每个节点都有一个指向下一个节点和上一个节点的引用于是每个节点占用的内存空间稍微大一点。 二者的使用场景有什么不同呢 ArrayList 适用于 随机访问频繁需要频繁通过索引访问元素的场景。读取操作远多于写入操作如存储不经常改变的列表。末尾添加元素需要频繁在列表末尾添加元素的场景。 LinkedList 适用于 频繁插入和删除在列表中间频繁插入和删除元素的场景。不需要快速随机访问顺序访问多于随机访问的场景。 在日志记录处理的场景中通常是按照日志产生的先后顺序依次读取和处理日志信息不需要随机访问某一条特定的日志。例如从日志文件中逐行读取日志内容对每一条日志进行解析和分析。此时使用 LinkedList 存储日志信息通过迭代器进行顺序访问可以高效地完成日志处理任务。 import java.util.Iterator; import java.util.LinkedList;public class LogProcessingExample {public static void main(String[] args) {LinkedListString logList new LinkedList();logList.add(Log entry 1);logList.add(Log entry 2);logList.add(Log entry 3);// 顺序访问日志IteratorString iterator logList.iterator();while (iterator.hasNext()) {String log iterator.next();System.out.println(Processing log: log);}} }队列和栈由于其双向链表的特性LinkedList 可以高效地实现队列FIFO和栈LIFO。 双向链表在头部和尾部进行插入和删除操作的时间复杂度都是 所以 LinkedList 能够高效地实现队列。 同样基于双向链表的特性LinkedList 可以方便地实现栈的操作。对于入栈操作可以使用 addFirst(E e) 方法将元素添加到链表的头部对于出栈操作可以使用 removeFirst() 方法将链表头部的元素移除。在链表头部进行插入和删除操作的时间复杂度为 因此 LinkedList 能高效地实现栈。 链表和数组又有什么区别 数组在内存中占用的是一块连续的存储空间因此我们可以通过数组下标快速访问任意元素。数组在创建时必须指定大小一旦分配内存数组的大小就固定了。链表的元素节点存储在内存中的任意位置每个节点通过指针引用指向下一个节点。链表不需要指定大小可以在运行时动态变化。
http://www.w-s-a.com/news/776254/

相关文章:

  • 海口招商建设有限公司网站淮安哪有专业做网站的公司
  • 喀什哪有做网站的国内正规seo网络推广
  • 网站设计初步规划公司网页打不开是什么原因
  • 深圳企业网站建设推广服务php做的商城网站设计论文
  • 韩雪冬网站手机网站开发 宽度
  • 奉贤专业做网站新手怎么做企业网站
  • 做网站用哪几个端口 比较好手机号网站源码
  • 手机免费代理ip网站那个旅游网站做攻略最好
  • 西安做网站找哪家公司好苏州专业网站建设开发
  • dedecms如何做网站网站设计实施方案
  • 网站建设合约品牌设计有哪些
  • 织梦企业门户网站宝塔搭建wordpress网站
  • 网站为什么没有排名了11月将现新冠感染高峰
  • 网站开发维护专员岗位职责辽阳企业网站建设
  • 做外国订单有什么网站网站设计论文提纲
  • 商城网站建设报价方案导师让做网站
  • 清远市企业网站seo联系方式动易官方网站
  • 手机上怎么做能打开的网站一级域名和二级域名跨域
  • 网站首页效果图wordpress 在线教育
  • 电商网站开发团队广西桂林商贸旅游技工学校
  • 网站模板文件怎么下载东莞常平镇邮政编码
  • 建网站需要什么wordpress误删的后果
  • wordpress无插件实现网站地图做阿里巴巴网站店铺装修费用
  • 英文互动网站建设南宁住房和城乡建设局网站
  • 威海微网站建设乐清建网站哪家强
  • 网站和app的开发成本saas系统开发教程
  • ps切片工具做网站大气简洁网站
  • 网至普的营销型网站建设wordpress邮箱验证插件下载
  • 找权重高的网站方法张家港早晨网站建设
  • WordPress数据库添加管理员关键词优化举例