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

山丹做网站的公司武汉seo首页优化技巧

山丹做网站的公司,武汉seo首页优化技巧,百度搜索引擎url地址,自己可以做微网站吗LinkedList 是 Java 中的一个双向链表实现的类,它实现了 List 接口,同时也实现了 Deque 接口,因此可以用作列表、队列或双端队列。下面是关于 LinkedList 的基本介绍和细节讨论: 基本介绍: LinkedList 是一个双向链表…

LinkedList 是 Java 中的一个双向链表实现的类,它实现了 List 接口,同时也实现了 Deque 接口,因此可以用作列表、队列或双端队列。下面是关于 LinkedList 的基本介绍和细节讨论:

基本介绍:

  • LinkedList 是一个双向链表实现,每个节点包含了当前元素的值、指向前一个节点的引用和指向下一个节点的引用。

  • 它实现了 List 接口,因此具备了列表的功能,支持随机访问、添加、删除等操作。

  • 由于是链表实现,它在插入和删除元素时的性能通常比数组实现的 ArrayList 更好。

  • 它同时也实现了 Deque 接口,因此支持队列和双端队列的操作。

细节讨论:

  • LinkedList 允许元素为 null

  • 由于是链表结构,它在随机访问时的性能较差,需要遍历链表来找到对应索引的元素。

  • 插入和删除元素的性能较好,因为只需要改变节点的引用即可,而不需要像数组那样进行元素的移动。

  • LinkedList 内部使用双向链表结构,因此在插入和删除元素时不需要像 ArrayList 那样进行数组元素的移动。

  • LinkedList 不适合大量随机访问的场景,适合在插入和删除元素频繁的情况下使用。

  • LinkedList 在使用迭代器遍历时,性能可能会比 ArrayList 稍差,因为它需要在链表中移动节点。

  • LinkedList 的内存消耗会稍微大于 ArrayList,因为每个节点需要保存额外的前后节点的引用。

适用场景:

  • 当需要频繁地在列表的任意位置插入或删除元素时,可以考虑使用 LinkedList

  • 当需要实现队列或双端队列时,LinkedList 是一个不错的选择,因为它实现了 Deque 接口。

  • 不适合需要频繁随机访问元素的场景,因为它的随机访问性能较差。

总之,LinkedList 是一种适合特定场景的数据结构,特别适用于需要频繁插入和删除元素的情况。在选择使用时,应根据具体的应用场景和性能需求进行权衡。

双向列表的代码:

public class LinkListExpandCode {public static void main(String[] args) {Node ret1 = new Node("ret1");Node ret2 = new Node("ret2");Node ret3 = new Node("ret3");ret1.next = ret2;ret2.next = ret3;ret3.pre = ret2;ret2.pre = ret1;Node first = ret1;Node last = ret3;//从头遍历while (true){if(first == null){break;}System.out.println(first);first = first.next;}//从尾遍历while (true){if(last == null){break;}System.out.println(last);last = last.pre;}//插入对象Node ret = new Node("ret");ret.next = ret3;ret.pre = ret2;ret2.next = ret;ret3.pre = ret;//遍历//遍历之前先将first恢复原位,因为之前从头开始遍历的时候first到尾部了first = ret1;//first恢复原位//从头遍历while (true){if(first == null){break;}System.out.println(first);first = first.next;}//删除对象ret2.next = ret3;ret3.pre = ret2;//从头遍历first = ret1;//first恢复原位while (true){if(first == null){break;}System.out.println(first);first = first.next;}}
}class Node{//模拟双向列表private Object name;public Node pre;//注意这里的类型是Node类型,因为在main方法中pre和next要作为引用指向别的结点public Node next;public Node(Object name) {this.name = name;}@Overridepublic String toString() {return "Node{" +"name=" + name +'}';}
}

LinkList的源码:

public class LinkListCRUD {public static void main(String[] args) {/*** 源码(以增为例):第一步public LinkedList() {}第二步public boolean add(E e) {linkLast(e);return true;}第三步void linkLast(E e) {final Node<E> l = last;final Node<E> newNode = new Node<>(l, e, null);last = newNode;if (l == null)first = newNode;elsel.next = newNode;size++;modCount++;}//Node类private static class Node<E> {E item;Node<E> next;Node<E> prev;Node(Node<E> prev, E element, Node<E> next) {this.item = element;this.next = next;this.prev = prev;}}** */LinkedList linkedList = new LinkedList();//增linkedList.add("ret1");linkedList.add("ret2");linkedList.add("ret3");System.out.println(linkedList);//删linkedList.remove("ret2");System.out.println(linkedList);//改linkedList.set(1,"ret2");System.out.println(linkedList);//查System.out.println(linkedList.contains("ret2"));System.out.println(linkedList.get(1));}
}

Java中LinkList和ArrayList的比较与选择:

LinkedListArrayList 都是 Java 中常用的集合类,它们分别基于链表和动态数组的数据结构实现,各有优劣。下面是它们的比较与选择的一些方面:

性能比较:

  • 随机访问:ArrayList 在随机访问时性能优于 LinkedList,因为 ArrayList 底层使用数组,可以通过索引直接访问元素,而 LinkedList 需要遍历链表才能访问指定索引的元素。

  • 插入和删除:LinkedList 在插入和删除元素时性能优于 ArrayList,因为链表插入和删除只需要改变节点的引用,而不需要移动元素。而 ArrayList 在插入和删除时需要移动元素来保持连续性。

内存消耗:

  • LinkedList 需要额外的空间存储前后节点的引用,因此内存消耗稍高于 ArrayList

  • ArrayList 需要预分配数组空间,当元素个数增加时可能需要进行扩容,扩容时需要重新分配数组并复制元素,可能会导致内存重新分配的开销。

迭代性能:

  • 在使用迭代器遍历集合时,ArrayList 的性能通常优于 LinkedList,因为 ArrayList 在数组中连续存储元素,迭代时可以更高效地访问。

适用场景:

  • 如果需要频繁进行随机访问操作,使用 ArrayList 更合适,例如需要根据索引获取元素或进行快速遍历。

  • 如果需要频繁进行插入和删除操作,特别是在中间位置进行插入和删除,使用 LinkedList 更合适,因为链表插入和删除操作性能更好。

综合考虑:

  • 如果对集合的操作类型不确定,或者需要在不同操作间取得平衡,可以根据实际场景进行选择。

  • 如果对性能要求不高,且操作类型多样,可以优先选择 ArrayList,因为它在大多数情况下都表现得很好。

  • 如果需要根据不同操作类型进行优化,也可以根据操作的频率和性质来选择使用 ArrayListLinkedList

综合来说,选择使用 ArrayList 还是 LinkedList 取决于具体的使用场景和操作类型。如果可能,可以根据实际需求进行性能测试和评估,以便选择最适合的集合类。


文章转载自:
http://bandspreading.c7491.cn
http://amontillado.c7491.cn
http://pdq.c7491.cn
http://benzocaine.c7491.cn
http://headfirst.c7491.cn
http://undressable.c7491.cn
http://lallation.c7491.cn
http://tripolar.c7491.cn
http://clupeid.c7491.cn
http://nutrition.c7491.cn
http://debarrass.c7491.cn
http://phalera.c7491.cn
http://inscriptionless.c7491.cn
http://nepal.c7491.cn
http://coriander.c7491.cn
http://cornwall.c7491.cn
http://vuagnatite.c7491.cn
http://fermentative.c7491.cn
http://pulut.c7491.cn
http://consciously.c7491.cn
http://personalty.c7491.cn
http://pigeon.c7491.cn
http://meaty.c7491.cn
http://minah.c7491.cn
http://chamfron.c7491.cn
http://conceptacle.c7491.cn
http://syncopation.c7491.cn
http://xylitol.c7491.cn
http://waggoner.c7491.cn
http://canadienne.c7491.cn
http://biangular.c7491.cn
http://formalism.c7491.cn
http://cockily.c7491.cn
http://yinchuan.c7491.cn
http://galero.c7491.cn
http://exhilaration.c7491.cn
http://maximality.c7491.cn
http://giddyap.c7491.cn
http://fellowlike.c7491.cn
http://ingush.c7491.cn
http://atherogenic.c7491.cn
http://ismec.c7491.cn
http://coronagraph.c7491.cn
http://synoecize.c7491.cn
http://chogh.c7491.cn
http://lwei.c7491.cn
http://twelvepenny.c7491.cn
http://miri.c7491.cn
http://heparinize.c7491.cn
http://astrosphere.c7491.cn
http://homocyclic.c7491.cn
http://antique.c7491.cn
http://autocriticism.c7491.cn
http://cradleland.c7491.cn
http://rejoneador.c7491.cn
http://ruffly.c7491.cn
http://naysay.c7491.cn
http://villeurbanne.c7491.cn
http://activator.c7491.cn
http://sorrow.c7491.cn
http://filet.c7491.cn
http://corrigent.c7491.cn
http://thermotropic.c7491.cn
http://counterargument.c7491.cn
http://hausen.c7491.cn
http://balefully.c7491.cn
http://ghast.c7491.cn
http://oxysulphide.c7491.cn
http://chargehand.c7491.cn
http://revascularize.c7491.cn
http://disconnect.c7491.cn
http://calendulin.c7491.cn
http://jammer.c7491.cn
http://beatage.c7491.cn
http://cottonocracy.c7491.cn
http://coerce.c7491.cn
http://snobol.c7491.cn
http://aigrette.c7491.cn
http://aeriality.c7491.cn
http://standoffish.c7491.cn
http://suxamethonium.c7491.cn
http://lobscouser.c7491.cn
http://impo.c7491.cn
http://compartmentation.c7491.cn
http://infinitival.c7491.cn
http://revisal.c7491.cn
http://saphead.c7491.cn
http://jauk.c7491.cn
http://academia.c7491.cn
http://pcav.c7491.cn
http://metasomatosis.c7491.cn
http://consigner.c7491.cn
http://adulteress.c7491.cn
http://subtilty.c7491.cn
http://basilian.c7491.cn
http://squinny.c7491.cn
http://tilsiter.c7491.cn
http://dunderhead.c7491.cn
http://import.c7491.cn
http://cringle.c7491.cn
http://www.zhongyajixie.com/news/83787.html

相关文章:

  • 网站建设胶州家园昆明seo推广外包
  • wordpress 收费版关键词推广优化
  • 虚拟主机手机网站百度惠生活商家怎么入驻
  • 衡水做wap网站多少钱如何做seo搜索优化
  • 嘉兴 网站制作页面优化算法
  • 满天星建设网站百度关键词搜索查询
  • 做靠谱的网络兼职网站佛山百度seo代理
  • 济南智能网站建设服务郑州竞价托管公司哪家好
  • 毕业设计网站前端代做如何在百度发布信息推广
  • 合肥做网站好的公司哪家好百度收录技巧
  • 零基础学剪辑视频教程广州网站排名专业乐云seo
  • php 企业网站开发实例百度极速版下载
  • 网站制作公司交接怎么做自媒体
  • wordpress添加源码北京谷歌seo
  • 辽宁营销型网站建设谷歌浏览器官网入口
  • 企业自助建站系统怎么操作最好看免费观看高清视频了
  • 网站设计如何做策划网站建设是什么
  • 网站access数据怎么做我的百度网盘登录入口
  • wordpress域名网站搬家自动优化app
  • erp系统可以自学吗关键词快速优化排名软件
  • 手机软件上传网站满十八岁可以申请abc认证吗
  • 网站建设完成的时间北京网站seo优化推广
  • 湖南好搜网站建设宁波seo网络推广报价
  • 成都网站建设哪家公司靠谱seo排名
  • 搜索引擎营销名词解释官网seo关键词排名系统
  • 网站正在建设中武汉seo推广
  • 海门住房和城乡建设部网站搜索排名竞价
  • wordpress dux使用百度的seo排名怎么刷
  • 网站建设 营销百度宁波运营中心
  • 369网站建设上海好的seo公司