最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于LinkedList集合對(duì)元素進(jìn)行增查刪操作

 更新時(shí)間:2023年04月26日 09:19:14   作者:Blue92120  
LinkedList集合內(nèi)部包含有兩個(gè)Node類(lèi)型的first和last屬性維護(hù)一個(gè)雙向循環(huán)鏈表,在鏈表中的每一個(gè)元素都使用引用的方式來(lái)記住它的前一個(gè)元素和后一個(gè)元素,從而可以將所有的元素彼此連接起來(lái),需要的朋友可以參考下

ArrayList集合在查詢(xún)?cè)貢r(shí)速度很快,但在增刪元素時(shí)效率較低,為了克服這種局限性,可以使用List接口的另一個(gè)實(shí)現(xiàn)類(lèi)LinkedList。LinkedList集合內(nèi)部包含有兩個(gè)Node類(lèi)型的first和last屬性維護(hù)一個(gè)雙向循環(huán)鏈表,在鏈表中的每一個(gè)元素都使用引用的方式來(lái)記住它的前一個(gè)元素和后一個(gè)元素,從而可以將所有的元素彼此連接起來(lái)。當(dāng)插入一個(gè)新元素時(shí),只需要修改元素之間的這種引用關(guān)系即可,刪除一個(gè)節(jié)點(diǎn)也是如此。正因?yàn)檫@樣的存儲(chǔ)結(jié)構(gòu),所以LinkedList集合對(duì)于元素的增刪操作表現(xiàn)出很高的效率,LinkedList集合添加元素和刪除元素的過(guò)程如圖所示。

在圖6-5中,通過(guò)兩張圖描述了LinkedList集合新增元素和刪除元素的過(guò)程。其中,左圖為新增一個(gè)元素,圖中的元素1和元素2在集合中彼此為前后關(guān)系,在它們之間新增一個(gè)元素時(shí),只需要讓元素1記住它后面的元素是新元素,讓元素2記住它前面的元素為新元素就可以了。右圖為刪除元素,要想刪除元素1和元素2之間的元素3,只需要讓元素1與元素2變成前后關(guān)系就可以了。LinkedList集合除了從接口Collection和List中繼承并實(shí)現(xiàn)了集合操作方法外,還專(zhuān)門(mén)針對(duì)元素的增刪操作定義了一些特有的方法,如下所示。

方法聲明功能描述
void add(int index, E element在此列表中指定的位置插入指定的元素。
void addFirst(Object o)將指定元素插入集合的開(kāi)頭
void addLast(Object o)將指定元素添加到集合的結(jié)尾
Object getFirst(O返回集合的第一個(gè)元素
Object getLast()返回集合的最后一個(gè)元素
Object removeFirst()移除并返回集合的第一個(gè)元素
Object removeLast()移除并返回集合的最后一個(gè)元素
boolean offer(Object o)將指定元素添加到集合的結(jié)尾
boolean offerFirst(Object o)將指定元素添加到集合的開(kāi)頭
boolean offerLast(Object o)將指定元素添加到集合的結(jié)尾
Object peek()獲取集合的第一個(gè)元素
Object peekFirst()獲取集合的第一個(gè)元素
Object peekLast(獲取集合的最后一個(gè)元素
Object poll(0移除并返回集合的第一個(gè)元素
Object pollFirst()移除并返回集合的第一個(gè)元素
Object pollLast()移除并返回集合的最后一個(gè)元素
void push(Object o)將指定元素添加到集合的開(kāi)頭
Object pop0移除并返回集合的第一個(gè)元素

上表中,列出的方法主要針對(duì)集合中的元素進(jìn)行增加、刪除和獲取操作,接下來(lái)通過(guò)一個(gè)案例來(lái)學(xué)習(xí)LinkedList中常用方法的使用,如文件所示。

文件Example02.java

importjava.util.LinkedList;publicclassExample02{3publicstaticvoidmain(String[] args){// 創(chuàng)建LinkedList集合LinkedList link =newLinkedList();// 1、添加元素
        link.add("stu1");
        link.add("stu2");System.out.println(link);// 輸出集合中的元素
        link.offer("offer");// 向集合尾部追加元素
        link.push("push");// 向集合頭部添加元素System.out.println(link);// 輸出集合中的元素// 2、獲取元素Object object = link.peek();//獲取集合第一個(gè)元素System.out.println(object);// 輸出集合中的元素// 3、刪除元素
        link.removeFirst();// 刪除集合第一個(gè)元素
        link.pollLast();// 刪除集合最后一個(gè)元素System.out.println(link);20}21}

運(yùn)行結(jié)果如下圖所示。

在文件Example02.java首先創(chuàng)建了一個(gè)LinkedList集合,接著分別使用add()、offer()、push()方法向集合中插入元素,然后使用peek()方法獲取了集合的第一個(gè)元素,最后分別使用removeFirst()、pollLast()方法將集合中指定位置的元素移除,這樣就完成了元素的增、查、刪操作。由此可見(jiàn),使用LinkedList對(duì)元素進(jìn)行增刪操作是非常便捷的。

到此這篇關(guān)于關(guān)于LinkedList集合對(duì)元素進(jìn)行增查刪操作的文章就介紹到這了,更多相關(guān)LinkedList集合增查刪內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)圖形界面計(jì)算器

    Java實(shí)現(xiàn)圖形界面計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖形界面計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java Selenium實(shí)現(xiàn)多窗口切換的示例代碼

    Java Selenium實(shí)現(xiàn)多窗口切換的示例代碼

    這篇文章主要介紹了Java Selenium實(shí)現(xiàn)多窗口切換的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • JavaWeb文件上傳流程

    JavaWeb文件上傳流程

    這篇文章主要介紹了JavaWeb文件上傳流程,JavaWeb中最重要的技術(shù)之一,下文關(guān)于其文件上傳的流程分享,需要的小伙伴可以參考一下
    2022-05-05
  • JAVA發(fā)送HTTP請(qǐng)求的四種方式總結(jié)

    JAVA發(fā)送HTTP請(qǐng)求的四種方式總結(jié)

    這篇文章主要給大家介紹了關(guān)于JAVA發(fā)送HTTP請(qǐng)求的多種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Springboot項(xiàng)目啟動(dòng)不加載resources目錄下的文件問(wèn)題

    Springboot項(xiàng)目啟動(dòng)不加載resources目錄下的文件問(wèn)題

    這篇文章主要介紹了Springboot項(xiàng)目啟動(dòng)不加載resources目錄下的文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 快速解決springboot在yml配置了啟動(dòng)端口但啟動(dòng)還是8080問(wèn)題

    快速解決springboot在yml配置了啟動(dòng)端口但啟動(dòng)還是8080問(wèn)題

    這篇文章主要介紹了快速解決springboot在yml配置了啟動(dòng)端口但啟動(dòng)還是8080問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Java設(shè)計(jì)模式中的建造者模式詳解

    Java設(shè)計(jì)模式中的建造者模式詳解

    這篇文章主要介紹了Java設(shè)計(jì)模式中的建造者模式詳解,建造者模式使我們?nèi)粘9ぷ髦斜容^常見(jiàn)的一種設(shè)計(jì)模式,和工廠模式一樣屬于創(chuàng)建型設(shè)計(jì)模式,用于解耦對(duì)象創(chuàng)建和對(duì)象使用的邏輯,需要的朋友可以參考下
    2023-12-12
  • 詳解springmvc之json數(shù)據(jù)交互controller方法返回值為簡(jiǎn)單類(lèi)型

    詳解springmvc之json數(shù)據(jù)交互controller方法返回值為簡(jiǎn)單類(lèi)型

    這篇文章主要介紹了springmvc之json數(shù)據(jù)交互controller方法返回值為簡(jiǎn)單類(lèi)型,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-05-05
  • Java數(shù)據(jù)結(jié)構(gòu)之棧與隊(duì)列實(shí)例詳解

    Java數(shù)據(jù)結(jié)構(gòu)之棧與隊(duì)列實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Java數(shù)據(jù)結(jié)構(gòu)之棧與隊(duì)列的相關(guān)資料,算是作為用java描述數(shù)據(jù)結(jié)構(gòu)的一個(gè)開(kāi)始,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • Mybatis統(tǒng)計(jì)sql運(yùn)行時(shí)間的兩種方式

    Mybatis統(tǒng)計(jì)sql運(yùn)行時(shí)間的兩種方式

    這篇文章主要介紹了Mybatis統(tǒng)計(jì)sql運(yùn)行時(shí)間的方案,Spring?Boot?+?Mybatis?web項(xiàng)目,統(tǒng)計(jì)sql運(yùn)行時(shí)間,用于分析慢sql,優(yōu)化系統(tǒng)速度,方案有兩種:自定義實(shí)現(xiàn)?Interceptor和使用現(xiàn)有依賴(lài)庫(kù)(Druid),文中通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-11-11

最新評(píng)論

扬州市| 开平市| 瑞金市| 汾西县| 永济市| 云梦县| 天祝| 蚌埠市| 凤翔县| 东丽区| 大石桥市| 涞源县| 襄汾县| 阿合奇县| 旅游| 侯马市| 榕江县| 会理县| 崇州市| 蓬溪县| 雷波县| 辽宁省| 唐海县| 棋牌| 汕头市| 京山县| 兰溪市| 当涂县| 万州区| 庆元县| 衡水市| 宣城市| 东丽区| 宁德市| 衡山县| 柏乡县| 全南县| 平顶山市| 石台县| 东至县| 云梦县|