安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

LinkedList源码解析

2月18日 渡缘祠投稿
  1。概述
  LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack)。2。类图
  LinkedList类图3。属性transientintsize0;first始终不变:1、集合没有元素:firstnulllastnull2、集合添加了元素:first。prevnullfirst。item!nulltransientNodeElast始终不变:1、集合没有元素:firstnulllastnull2、集合添加了元素:(last。nextnulllast。item!null)transientNodeEprivatestaticclassNodeE{ENodeENodeENode(NodeEprev,Eelement,NodeEnext){this。this。this。}}4。无参构造构造一个空集合publicLinkedList(){}5。添加元素5。1添加元素添加元素到链表末尾publicbooleanadd(Ee){linkLast(e);}firstlastfirstablastvoidlinkLast(Ee){finalNodeE创建节点finalNodeEnewNodenewNode(l,e,null);last始终指向尾节点lastnewN首次添加元素if(lnull)first始终指向头节点firstnewNelsel。nextnewNmodC}privatestaticclassNodeE{ENodeENodeENode(NodeEprev,Eelement,NodeEnext){this。this。this。}}5。2指定位置添加元素publicvoidadd(intindex,Eelement){checkPositionIndex(index);如果indexsize,直接在末尾添加,等同于add(e)方法if(indexsize)linkLast(element);elselinkBefore(element,node(index));}返回需要修改节点的位置NodeEnode(intindex){根据当前添加元素的位置判断是从头开始找还是尾开始找if(index(size1)){NodeEfor(inti0;i)xx。}else{NodeEfor(intisize1;i)xx。}}将前一个节点nextnewNode将后一个节点prenewNodevoidlinkBefore(Ee,NodeEsucc){assertsucc!finalNodeEpredsucc。finalNodeEnewNodenewNode(pred,e,succ);succ。prevnewNif(prednull)firstnewNelsepred。nextnewNmodC}
  add操作6。获取元素6。1获取第一个元素publicEgetFirst(){finalNodeEif(fnull)thrownewNoSuchElementException();returnf。}6。2获取最后一个元素publicEgetLast(){finalNodeEif(lnull)thrownewNoSuchElementException();returnl。}7移除元素publicbooleanremove(Objecto){if(onull){for(NodeEx!xx。next){if(x。itemnull){unlink(x);}}}else{for(NodeEx!xx。next){if(o。equals(x。item)){unlink(x);}}}}Eunlink(NodeEx){assertx!finalEelementx。finalNodeEnextx。finalNodeEprevx。if(prevnull){}else{prev。x。}if(nextnull){}else{next。x。}x。modC}
  remove操作8小结LinkedList是链表结构,所以不存在扩容。LinkedList基于节点实现的双向链表的List,每个节点都指向前一个和后一个节点从而形成链表。LinkedList随机访问平均时间复杂度是O(n),查找指定元素的平均时间复杂度是多少O(n)。LinkedList移除指定位置的元素的最好时间复杂度是O(1),最坏的时间复杂度是O(n),平均时间复杂度是O(n)。LinkedList添加元素的最好时间复杂度是O(1),最坏时间复杂度是O(n),平均时间复杂度是O(n)。
投诉 评论 转载

长期喝白开水与长期喝茶的人相比,哪个身体更健康?医生道出答案水是生命之源,我们日常生活中都离不开水,在人体当中60以上都是水分。如果身体缺少水分,就会影响各器官细胞的正常运行,同时对我们的生命带来一定的安全隐患。在生活中我们时常会……空调睡眠模式是什么意思?空调开睡眠模式耗电么夏季因为天气炎热,很多友友都是开着空调睡觉,但由于制冷有时候会使温度过低,所以很多友友都会开睡眠模式,也正因为这个原因,空调睡眠模式是什么意思成人们最为关注的,下面小编就和大家……余承东汽车是华为唯一亏损的业务7月7日,在第十四届中国汽车蓝皮书论坛上,华为常务董事余承东又放出了很多重磅的消息,比如建议尽快淘汰纯燃油车,又比如其表示汽车是华为唯一亏损的业务。余承东表示,华为在汽车……4S店之王上半年净利降9成!多番出售子公司偿债,危机仍难解7月26日消息,近日,4S店之王庞大汽贸披露了半年度业绩预减公告。预计2022年上半年实现归属于上市公司股东的净利润为2000万至3000万元,同比下降94。85至96。57。……通信行程卡取消星号标记!详解陕西一码通新变化6月29日,通信行程卡取消星号标记。工信部表示,为坚决落实党中央、国务院关于外防输入、内防反弹总策略和动态清零总方针,支撑高效统筹疫情防控和经济社会发展,方便广大用户出行,6月……保护胰腺,就是守住生命线?医生提醒保护胰腺,需要注意这4点对于糖尿病患者来说,他们可能或多或少都听到过胰腺。然而,要问他们胰腺具体有什么作用的时候,估计没有多少糖尿病患者能说出来。其实,胰腺对于人体来说,是比较重要的。那胰腺有什……今日清明清明时节多吃柔肝的食物,预防这4类疾病清明节又叫踏青节,在仲春与暮春之交。中国汉族传统的清明节大约始于周代,距今已有二千五百多年的历史。清明,万物生长此时,皆清洁而明净,故谓之清明。清明起初只是节气名称,后逐……男足最帅球员是卡卡,那你知道女足最美球员是谁吗?提到足坛帅哥,你可能想到马尔蒂尼、贝克汉姆、卡纳瓦罗、C罗,他们的帅都各有所长,但说起足坛最帅球员非卡卡莫属,陌上人如玉,公子世无双,这句话用来形容米兰王子卡卡最为贴切。……夜访温泉馆2022年6月11日下午16时,还在午休的我被清脆的闹铃声吵醒,原来是发小计划前往涌宝镇泡温泉,据说在涌宝温泉沐浴后浑身清爽,精神倍增,又说此泉水能够舒筋松骨,医治风湿关节病。……LinkedList源码解析1。概述LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack)……我国又一黑科技!14天狂卖280000台!不到1百元,飞利浦剃须,是每个男人清晨必须经历的,一场重要的仪式。温水洁面涂泡沫剃须冲洗刀头,最后,洗去脸上的泡沫,一张干净清爽、没有胡渣的脸庞出现在镜中,嗯,容光焕发,感觉自己都年轻了好……NBA球星发福照库里忍了,詹皇也忍了,唯独威少我忍不了最近,一大波NBA球星的恶搞图片在网络上广泛流传,而这些图片都有一个共同的特点,那就是球员变得相当之胖。那么下面我们就一起来看看吧。1、库里:可谓是一秒钟从小学生变成中年……
胃病如何养胃?最详细的食疗宝典,建议收藏向天王星发送探测器被空间科学界列为首要任务幼儿园作业天花板女孩用爸爸的顶级相机拍照,姿势超有范儿春天北京山区哪里最先漫山桃花?来门头沟这几条山路穿越花海吧唐艺昕和张若昀真的很般配,穿情侣装的样子很恩爱,让人羡慕正式开业!冰淇淋博物馆中国首站落户前滩太古里白发长在哪,病就从哪出?长在前额两鬓后脑勺,分别表示什么8道正宗东北菜,吃过4道菜以上,才能算真正的东北人中国美食没有外国菜名气大!从潮汕美食窥见发扬本土文化可行之路克丽缇娜直击女性两大衰老信号,即刻开启肌肤紧致蜕变帕金森病患者药物导致的睡眠障碍财务报表分析具体怎么做关于匆匆的教学设计范文最低调的奢华天梭竞智腕表七千人民币仙人掌的叶子在哪里科技小论文豆渣拌在土里能种花吗味蕾上的江苏本土美食志日历虾饼虾与面糊的奇遇社会怪象(顺口溜)粽情粽义,端午邀好友集龙珠卡牌,集齐七张可召唤大神导师图手工编织包包图解欣赏各种款展示不同风格6。5世界环境日励志名言高三百日高考誓师词研究表明中国可能是最早使用蚕丝的国家家庭教育的方法和技巧

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利