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

在圖6-5中,通過兩張圖描述了LinkedList集合新增元素和刪除元素的過程。其中,左圖為新增一個元素,圖中的元素1和元素2在集合中彼此為前后關(guān)系,在它們之間新增一個元素時,只需要讓元素1記住它后面的元素是新元素,讓元素2記住它前面的元素為新元素就可以了。右圖為刪除元素,要想刪除元素1和元素2之間的元素3,只需要讓元素1與元素2變成前后關(guān)系就可以了。LinkedList集合除了從接口Collection和List中繼承并實現(xiàn)了集合操作方法外,還專門針對元素的增刪操作定義了一些特有的方法,如下所示。
| 方法聲明 | 功能描述 |
| void add(int index, E element | 在此列表中指定的位置插入指定的元素。 |
| void addFirst(Object o) | 將指定元素插入集合的開頭 |
| void addLast(Object o) | 將指定元素添加到集合的結(jié)尾 |
| Object getFirst(O | 返回集合的第一個元素 |
| Object getLast() | 返回集合的最后一個元素 |
| Object removeFirst() | 移除并返回集合的第一個元素 |
| Object removeLast() | 移除并返回集合的最后一個元素 |
| boolean offer(Object o) | 將指定元素添加到集合的結(jié)尾 |
| boolean offerFirst(Object o) | 將指定元素添加到集合的開頭 |
| boolean offerLast(Object o) | 將指定元素添加到集合的結(jié)尾 |
| Object peek() | 獲取集合的第一個元素 |
| Object peekFirst() | 獲取集合的第一個元素 |
| Object peekLast( | 獲取集合的最后一個元素 |
| Object poll(0 | 移除并返回集合的第一個元素 |
| Object pollFirst() | 移除并返回集合的第一個元素 |
| Object pollLast() | 移除并返回集合的最后一個元素 |
| void push(Object o) | 將指定元素添加到集合的開頭 |
| Object pop0 | 移除并返回集合的第一個元素 |
上表中,列出的方法主要針對集合中的元素進行增加、刪除和獲取操作,接下來通過一個案例來學習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();//獲取集合第一個元素System.out.println(object);// 輸出集合中的元素// 3、刪除元素
link.removeFirst();// 刪除集合第一個元素
link.pollLast();// 刪除集合最后一個元素System.out.println(link);20}21}運行結(jié)果如下圖所示。

在文件Example02.java首先創(chuàng)建了一個LinkedList集合,接著分別使用add()、offer()、push()方法向集合中插入元素,然后使用peek()方法獲取了集合的第一個元素,最后分別使用removeFirst()、pollLast()方法將集合中指定位置的元素移除,這樣就完成了元素的增、查、刪操作。由此可見,使用LinkedList對元素進行增刪操作是非常便捷的。
到此這篇關(guān)于關(guān)于LinkedList集合對元素進行增查刪操作的文章就介紹到這了,更多相關(guān)LinkedList集合增查刪內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java Selenium實現(xiàn)多窗口切換的示例代碼
這篇文章主要介紹了Java Selenium實現(xiàn)多窗口切換的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
Springboot項目啟動不加載resources目錄下的文件問題
這篇文章主要介紹了Springboot項目啟動不加載resources目錄下的文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
快速解決springboot在yml配置了啟動端口但啟動還是8080問題
這篇文章主要介紹了快速解決springboot在yml配置了啟動端口但啟動還是8080問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03
詳解springmvc之json數(shù)據(jù)交互controller方法返回值為簡單類型
這篇文章主要介紹了springmvc之json數(shù)據(jù)交互controller方法返回值為簡單類型,非常具有實用價值,需要的朋友可以參考下2017-05-05
Java數(shù)據(jù)結(jié)構(gòu)之棧與隊列實例詳解
這篇文章主要給大家介紹了關(guān)于Java數(shù)據(jù)結(jié)構(gòu)之棧與隊列的相關(guān)資料,算是作為用java描述數(shù)據(jù)結(jié)構(gòu)的一個開始,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2021-11-11

