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

做医院网站公司福建省建设干部培训中心网站

做医院网站公司,福建省建设干部培训中心网站,外贸获客软件,国开网站怎么做一、数据结构与核心特性 1. ArrayList 数据结构#xff1a;基于动态数组实现#xff0c;元素存储在连续内存中。核心特性#xff1a; – 通过索引随机访问元素#xff0c;时间复杂度 O (1)。 – 扩容机制#xff1a;容量不足时新建数组#xff08;原容量的 1.5 倍…一、数据结构与核心特性 1. ArrayList 数据结构基于动态数组实现元素存储在连续内存中。核心特性 – 通过索引随机访问元素时间复杂度 O (1)。 – 扩容机制容量不足时新建数组原容量的 1.5 倍并复制元素。 – 尾部添加 / 删除效率高O (1)中间操作需移动元素O (n)。 – 不直接支持 poll/offer需借助 ArrayDeque 或 LinkedList 包装。 2. LinkedList 数据结构双向链表每个节点包含前驱、后继指针和元素值。核心特性 – 任意位置插入 / 删除仅需修改指针O (1)但随机访问需遍历O (n)。 – 实现 Deque 接口原生支持 poll/offer 等队列操作。 – 无容量限制节点动态分配内存内存占用高于 ArrayList。 二、核心方法对比 操作类型ArrayListLinkedList构造new ArrayList()初始容量 10new LinkedList()添加元素add(E e)尾部O(1)add(index, e)中间O(n)add(e)尾部O(1)addFirst(e) / addLast(e)O(1)删除元素remove(index)O(n)removeFirst() / removeLast()O(1)随机访问get(index)O(1)get(index)O(n)需遍历链表队列操作poll需包装为 ArrayDeque本质数组操作poll()取头部O(1)pollFirst() / pollLast()O(1)队列操作offer需包装为 ArrayDeque尾部添加 O(1)offer(e)尾部O(1)offerFirst(e) / offerLast(e)O(1) 三、poll 和 offer 方法详解 1. 方法定义与功能 poll()获取并移除集合头部元素空集合返回 null区别于 remove() 的异常。offer(E e)添加元素到集合成功返回 trueLinkedList 无容量限制始终成功。 2. LinkedList 中的队列操作 LinkedListString deque new LinkedList(); // 添加元素 deque.offer(A); // 尾部添加等价于 addLast() deque.offerFirst(B); // 头部添加 deque.offerLast(C); // 尾部添加等价于 offer()// 获取并移除元素 String head deque.poll(); // 取头部B队列变为 [A, C] String tail deque.pollLast(); // 取尾部C队列变为 [A]// 空集合处理 String empty deque.poll(); // 返回 null不抛异常3. ArrayList 实现队列操作需适配器 // 推荐方式使用 ArrayDeque 包装 ArrayList DequeInteger queue new ArrayDeque(Arrays.asList(1, 2, 3)); queue.offer(4); // 尾部添加队列变为 [1,2,3,4] int first queue.poll(); // 取头部1队列变为 [2,3,4]// 不推荐方式用 LinkedList 包装 ArrayList性能差 QueueInteger arrayListQueue new LinkedList(new ArrayList()); arrayListQueue.offer(5); // 内部通过链表添加非数组直接操作四、性能与适用场景 1. 性能对比 操作ArrayListLinkedList尾部添加O(1)O(1)中间插入O(n) (移动元素)O(1) (修改指针)随机访问O(1)O(n) (遍历链表)poll/offer 头部需适配器O(1)O(1) 2. 适用场景 选 ArrayList 的场景 频繁随机访问如 get(index)。尾部添加 / 删除为主如日志记录。数据量可预测避免频繁扩容。 选 LinkedList 的场景 频繁在头部 / 中间插入 / 删除如任务队列。需要使用 poll/offer 等双端队列操作。数据量不确定不希望有扩容开销。 五、代码示例综合应用 import java.util.ArrayList; import java.util.Deque; import java.util.LinkedList; import java.util.Queue;public class ListComparison {public static void main(String[] args) {// ArrayList 作为普通列表 ArrayListString arrayList new ArrayList();arrayList.add(苹果);arrayList.add(香蕉);System.out.println(ArrayList 随机访问 arrayList.get(1)); // 输出香蕉// LinkedList 作为队列 QueueString taskQueue new LinkedList();taskQueue.offer(数据采集);taskQueue.offer(模型训练);System.out.println(队列处理顺序);while (!taskQueue.isEmpty()) {System.out.println(- taskQueue.poll()); // 按添加顺序输出}// LinkedList 作为栈 DequeString stack new LinkedList();stack.offerFirst(HTML);stack.offerFirst(CSS);stack.offerFirst(JavaScript);System.out.println(\n栈弹出顺序);while (!stack.isEmpty()) {System.out.println(- stack.pollFirst()); // 后入先出}// ArrayList 实现队列借助 ArrayDequeDequeInteger arrayQueue new ArrayDeque(Arrays.asList(10, 20));arrayQueue.offer(30); // 尾部添加System.out.println(\nArrayDeque 包装 ArrayList 队列);while (!arrayQueue.isEmpty()) {System.out.println(- arrayQueue.poll()); // 10, 20, 30}} }六、总结与注意事项 1. 数据结构决定性能 ArrayList 适合 “读多写少” 场景尤其随机访问频繁时。LinkedList 适合 “写多读少” 场景尤其需要队列 / 栈操作时。 2. 队列操作的最佳实践 优先使用 LinkedList 或 ArrayDeque 实现队列 / 栈而非包装 ArrayList。ArrayDeque 的性能通常优于 LinkedList因数组连续存储减少内存跳转。 3. 线程安全 两者均非线程安全多线程环境需用 Collections.synchronizedList() 包装或使用 CopyOnWriteArrayList。 通过理解两者的底层实现与方法特性可根据业务场景如数据访问模式、操作频率选择更合适的集合类优化程序效率。
http://www.tj-hxxt.cn/news/225315.html

相关文章:

  • 多个页面网站的制作方法wordpress.org
  • 湖南服装网站建设百度一下官方网址
  • app推广方法及技巧seo经典案例
  • 国家建设官方网站seo策略分析
  • 网站建设技术线路选择怎么给网站做开场动画
  • wordpress 载入上海企业网站优化多少钱
  • 自己建设淘宝客网站需要备案么购物车网站建设
  • 成都私人借钱空放私人东莞市网络seo推广哪家好
  • 大连辰熙大厦做网站实用软件推荐
  • 学校网站建设先进事迹学网络技术的出来干什么
  • 兰州网站的优化最专业的礼品网站案例参考
  • 做公众号用什么网站吗网盘搜索引擎
  • 网站地图制作软件如何查看网站域名证书
  • 宋庄网站建设哪个网站有激光打标业务做
  • 网站与数据库黑龙江省建设官方网站
  • 江苏网站建设教程昆明官方网站建设
  • 太原网站设计排名建设一个企业网站一般多少钱
  • wordpress新站5天收录大连网站建设-中国互联
  • 成都建设网站标化最新表格做外贸用什么服务网站
  • 建设企业官方网站官网模板网站免费建站
  • 南昌seo站外优化如何做网销
  • 网页模板简单兰州网络推广优化怎样
  • 网站免费模板合肥高端网站设计
  • pc端网站开发手机app开发自学教程
  • 都有哪些网站可以做推广百度云 做网站
  • 网站开发能不能用win7系统即将开网的平台
  • 重庆专业网站搭建男女做那个的网站是什么
  • drupal 网站实例如何做像淘宝一样的网站
  • 织梦网站后台如何做百度优化wordpress的配置文件
  • 如何制作单页网站wordpress好还是织梦好