国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java 中數(shù)據(jù)結(jié)構(gòu)LinkedList的用法

這篇具有很好參考價(jià)值的文章主要介紹了Java 中數(shù)據(jù)結(jié)構(gòu)LinkedList的用法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

LinkList

鏈表(Linked list)是一種常見的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),是一種線性表,但是并不會按線性的順序存儲數(shù)據(jù),而是在每一個(gè)節(jié)點(diǎn)里存到下一個(gè)節(jié)點(diǎn)的地址。

鏈表可分為單向鏈表和雙向鏈表。

一個(gè)單向鏈表包含兩個(gè)值: 當(dāng)前節(jié)點(diǎn)的值和一個(gè)指向下一個(gè)節(jié)點(diǎn)的鏈接。
Java 中數(shù)據(jù)結(jié)構(gòu)LinkedList的用法,java,數(shù)據(jù)結(jié)構(gòu),windows
一個(gè)雙向鏈表有三個(gè)整數(shù)值: 數(shù)值、向后的節(jié)點(diǎn)鏈接、向前的節(jié)點(diǎn)鏈接。
Java 中數(shù)據(jù)結(jié)構(gòu)LinkedList的用法,java,數(shù)據(jù)結(jié)構(gòu),windows
Java LinkedList(鏈表) 類似于 ArrayList,是一種常用的數(shù)據(jù)容器。
與 ArrayList 相比,LinkedList 的增加和刪除的操作效率更高,而查找和修改的操作效率較低。

以下情況使用 ArrayList :
  • 頻繁訪問列表中的某一個(gè)元素。
  • 只需要在列表末尾進(jìn)行添加和刪除元素操作。
以下情況使用 LinkedList :

你需要通過循環(huán)迭代來訪問列表中的某些元素。
需要頻繁的在列表開頭、中間、末尾等位置進(jìn)行添加和刪除元素操作。

  • LinkedList 繼承了 AbstractSequentialList 類。

  • LinkedList 實(shí)現(xiàn)了 Queue 接口,可作為隊(duì)列使用。

  • LinkedList 實(shí)現(xiàn)了 List 接口,可進(jìn)行列表的相關(guān)操作。

  • LinkedList 實(shí)現(xiàn)了 Deque 接口,可作為隊(duì)列使用。

  • LinkedList 實(shí)現(xiàn)了 Cloneable 接口,可實(shí)現(xiàn)克隆。

  • LinkedList 實(shí)現(xiàn)了 java.io.Serializable 接口,即可支持序列化,能通過序列化去傳輸。

import java.util.LinkedList;

public class Linkedlist {
    public static void main(String[] args) {
        LinkedList<String> sites = new LinkedList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        System.out.println(sites);
        sites.addFirst("Wiki");  //addFirst
        System.out.println(sites);
        sites.addLast("Wiki2");  //addLast
        System.out.println(sites);
        sites.removeFirst();        //removeFirst
        System.out.println(sites);
        sites.removeLast();         //remoceLast
        System.out.println(sites);
        System.out.println(sites.getFirst());
        System.out.println(sites.getLast());
        for (int i =0;i<sites.size();i++) //for循環(huán)
            System.out.println(sites.get(i));
        for (String i :sites)			  //for-each循環(huán)
            System.out.println(i);
        
    }
}

public boolean add(E e) 鏈表末尾添加元素,返回是否成功,成功為 true,失敗為 false。

public void add(int index, E element) 向指定位置插入元素。

public boolean addAll(Collection c) 將一個(gè)集合的所有元素添加到鏈表后面,返回是否成功,成功為 true,失敗為 false。

public boolean addAll(int index, Collection c) 將一個(gè)集合的所有元素添加到鏈表的指定位置后面,返回是否成功,成功為 true,失敗為 false。

public void addFirst(E e) 元素添加到頭部。

public void addLast(E e) 元素添加到尾部。

public boolean offer(E e) 向鏈表末尾添加元素,返回是否成功,成功為 true,失敗為 false。

public boolean offerFirst(E e) 頭部插入元素,返回是否成功,成功為 true,失敗為 false。

public boolean offerLast(E e) 尾部插入元素,返回是否成功,成功為 true,失敗為 false。

public void clear() 清空鏈表。

public E removeFirst() 刪除并返回第一個(gè)元素。

public E removeLast() 刪除并返回最后一個(gè)元素。

public boolean remove(Object o) 刪除某一元素,返回是否成功,成功為 true,失敗為 false。

public E remove(int index) 刪除指定位置的元素。

public E poll() 刪除并返回第一個(gè)元素。

public E remove() 刪除并返回第一個(gè)元素。

public boolean contains(Object o) 判斷是否含有某一元素。

public E get(int index) 返回指定位置的元素。

public E getFirst() 返回第一個(gè)元素。

public E getLast() 返回最后一個(gè)元素。

public int indexOf(Object o) 查找指定元素從前往后第一次出現(xiàn)的索引。

public int lastIndexOf(Object o) 查找指定元素最后一次出現(xiàn)的索引。

public E peek() 返回第一個(gè)元素。

public E element() 返回第一個(gè)元素。

public E peekFirst() 返回頭部元素。

public E peekLast() 返回尾部元素。

public E set(int index, E element) 設(shè)置指定位置的元素。

public Object clone() 克隆該列表。

public Iterator descendingIterator() 返回倒序迭代器。

public int size() 返回鏈表元素個(gè)數(shù)。

public ListIterator listIterator(int index) 返回從指定位置開始到末尾的迭代器。

public Object[] toArray() 返回一個(gè)由鏈表元素組成的數(shù)組。

public T[] toArray(T[] a) 返回一個(gè)由鏈表元素轉(zhuǎn)換類型而成的數(shù)組。文章來源地址http://www.zghlxwxcb.cn/news/detail-679909.html

到了這里,關(guān)于Java 中數(shù)據(jù)結(jié)構(gòu)LinkedList的用法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • [java數(shù)據(jù)結(jié)構(gòu)] ArrayList和LinkedList介紹與使用

    [java數(shù)據(jù)結(jié)構(gòu)] ArrayList和LinkedList介紹與使用

    (一) 線性表 (二) ArrayList 1. ArrayList的介紹 2. ArrayList的常見方法和使用 3. ArrayList的遍歷 4. ArrayList的模擬實(shí)現(xiàn) 5. ArrayList的優(yōu)缺點(diǎn) (三)?LinkedList 1. LinkedList的介紹 2. LinkedList的常見方法和使用 3. LinkedList的遍歷 4. LinkedList的模擬實(shí)現(xiàn) 5. LinkedList的優(yōu)缺點(diǎn) (四) ArrayList和LinkedList的區(qū)別

    2024年01月21日
    瀏覽(19)
  • java八股文面試[數(shù)據(jù)結(jié)構(gòu)]——ArrayList和LinkedList區(qū)別

    java八股文面試[數(shù)據(jù)結(jié)構(gòu)]——ArrayList和LinkedList區(qū)別

    ? ArrayList和LinkedList的異同 二者的線程都不安全,相對線程安全的Vector,執(zhí)行效率高。此外,ArrayList時(shí)實(shí)現(xiàn)了基于動態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu),對于隨機(jī)訪問get和set,ArrayList覺得優(yōu)于LinkedList比較占優(yōu)勢,因?yàn)長inledList要移動指針。對于新增和刪除操作add

    2024年02月11日
    瀏覽(26)
  • java 數(shù)據(jù)結(jié)構(gòu) ArrayList源碼底層 LinkedList 底層源碼 迭代器底層

    java 數(shù)據(jù)結(jié)構(gòu) ArrayList源碼底層 LinkedList 底層源碼 迭代器底層

    對于數(shù)據(jù)結(jié)構(gòu)我這邊只告訴你右邊框框里的 棧的特點(diǎn):后進(jìn)先出,先進(jìn)后出,入棧也成為壓棧,出棧也成為彈棧 棧就像一個(gè)彈夾 隊(duì)列先進(jìn)先出后進(jìn)后出 隊(duì)列像排隊(duì) 鏈表查詢滿 但是增刪快(相對于數(shù)組而言) 拓展:還有一個(gè)雙向鏈表 他在查詢元素的時(shí)候更快些,因?yàn)樗谀玫揭粋€(gè)元素

    2024年02月05日
    瀏覽(25)
  • Java 中數(shù)據(jù)結(jié)構(gòu)HashSet的用法

    Java 中數(shù)據(jù)結(jié)構(gòu)HashSet的用法

    HashSet 基于 HashMap 來實(shí)現(xiàn)的,是一個(gè)不允許有重復(fù)元素的集合。 HashSet 允許有 null 值。 HashSet 是無序的,即不會記錄插入的順序。 HashSet 不是線程安全的, 如果多個(gè)線程嘗試同時(shí)修改 HashSet,則最終結(jié)果是不確定的。 您必須在多線程訪問時(shí)顯式同步對 HashSet 的并發(fā)訪問。 Ha

    2024年02月11日
    瀏覽(21)
  • Java 中數(shù)據(jù)結(jié)構(gòu)ArrayList的用法

    ArrayList 類是一個(gè)可以動態(tài)修改的數(shù)組,與普通數(shù)組的區(qū)別就是它是沒有固定大小的限制,我們可以添加或刪除元素。 ArrayList 繼承了 AbstractList ,并實(shí)現(xiàn)了 List 接口。 add() 將元素插入到指定位置的 arraylist 中 addAll() 添加集合中的所有元素到 arraylist 中 clear() 刪除 arraylist 中的所

    2024年02月10日
    瀏覽(26)
  • 【數(shù)據(jù)結(jié)構(gòu)】LinkedList與鏈表

    【數(shù)據(jù)結(jié)構(gòu)】LinkedList與鏈表

    上節(jié)課已經(jīng)熟悉了ArrayList的使用,并且進(jìn)行了簡單模擬實(shí)現(xiàn)。通過源碼知道,ArrayList底層使用數(shù)組來存儲元素: 由于其底層是一段連續(xù)空間,當(dāng) 在ArrayList任意位置插入或者刪除元素時(shí),就需要將后序元素整體往前或者往后搬移,時(shí)間復(fù)雜度為O(n),效率比較低 ,因此A rrayLi

    2024年02月07日
    瀏覽(26)
  • 【數(shù)據(jù)結(jié)構(gòu)】鏈表與LinkedList

    【數(shù)據(jù)結(jié)構(gòu)】鏈表與LinkedList

    作者主頁: paper jie 的博客 本文作者:大家好,我是paper jie,感謝你閱讀本文,歡迎一建三連哦。 本文錄入于《JAVA數(shù)據(jù)結(jié)構(gòu)》專欄,本專欄是針對于大學(xué)生,編程小白精心打造的。筆者用重金(時(shí)間和精力)打造,將javaSE基礎(chǔ)知識一網(wǎng)打盡,希望可以幫到讀者們哦。 其他專欄

    2024年02月08日
    瀏覽(86)
  • 數(shù)據(jù)結(jié)構(gòu)—LinkedList與鏈表

    數(shù)據(jù)結(jié)構(gòu)—LinkedList與鏈表

    目錄 一、鏈表 1.?鏈表的概念及結(jié)構(gòu) 1. 單向或者雙向 2. 帶頭或者不帶頭 3. 循環(huán)或者非循環(huán) 二.LinkedList的使用 ?1.LinkedList概念及結(jié)構(gòu) 2. LinkedList的構(gòu)造 3.?LinkedList的方法 三. ArrayList和LinkedList的區(qū)別 ? ????????鏈表是一種 物理存儲結(jié)構(gòu)上非連續(xù) 存儲結(jié)構(gòu),數(shù)據(jù)元素的 邏輯

    2024年02月04日
    瀏覽(26)
  • LinkedList數(shù)據(jù)結(jié)構(gòu)鏈表

    LinkedList 在Java中是一個(gè)實(shí)現(xiàn)了 List 和 Deque 接口的雙向鏈表。它允許我們在列表的兩端添加或刪除元素,同時(shí)也支持在列表中間插入或移除元素。在分析 LinkedList 之前,需要理解鏈表這種數(shù)據(jù)結(jié)構(gòu): 鏈表 :鏈表是一種動態(tài)數(shù)據(jù)結(jié)構(gòu),由一系列節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)包含數(shù)據(jù)部分

    2024年02月20日
    瀏覽(19)
  • 【數(shù)據(jù)結(jié)構(gòu)(三)】鏈表與LinkedList

    【數(shù)據(jù)結(jié)構(gòu)(三)】鏈表與LinkedList

    ?博主主頁: 33的博客? ??文章專欄分類:數(shù)據(jù)結(jié)構(gòu)?? ??我的代碼倉庫: 33的代碼倉庫?? ?????? 關(guān)注我?guī)銓W(xué)更多數(shù)據(jù)結(jié)構(gòu)知識 在上一篇文章中,我們已經(jīng)認(rèn)識了順序表,通過源碼我們知道ArrayList底層是使用數(shù)組來存儲元素,當(dāng)在ArrayList任意位置插入或者刪除元素時(shí),

    2024年04月13日
    瀏覽(94)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包