LinkedList常見特性

2021-10-06 19:00:58 字數 1542 閱讀 5938

1.linkedlist底層

linkedlist底層是通過鍊錶實現的,鍊錶中的乙個節點是乙個node型別的資料結構,其儲存了乙個指向前驅節點的引用、真實資料和乙個指向後繼節點的引用;

特點是隨機訪問效率低,刪除和插入快;

可以當作棧,佇列和雙端佇列來使用;

非執行緒安全,如果要建立乙個執行緒安全的linkedlist,則可以用

collections.synchronizedlist(new linkedlist(…))

實現serializable介面,因此它支援序列化,能夠通過序列化傳輸,實現cloneable介面,能被轉殖

linkedlist可以存放任何元素,包括null;

linkedlist是按雙向鍊錶查詢的,如果用get(index)方法訪問,計算index與size/2值的相對大小來決定是從頭或者從後開始查詢;

2. linkedlist中所有的呼叫方法

增加:add(e e):在尾部插入元素

addfirst(e e):在頭部插入

addlast(e e):在尾部新增元素

push:與addfirst一致

offer(e e):在尾部新增

offerfirst():在頭部新增

offerlast():在尾部新增

刪除:poll():頭部刪除

pollfirst():刪除頭

polllast():刪除尾

pop();刪除頭

remove();刪除鍊錶中第乙個元素

remove(e e):移除

removefirst(e e):刪除頭元素

removelast(e e):移除尾元素

修改:set(int index,e element)

獲取:get(int index)

getfirst()

getlast():

peek()

peekfirst()

peeklast()

indexof(object o):返回第一次出現的位置,如果不存在則返回-1

lastindexof(object o):返回元素最後一次出現的位置,如果不存在則返回-1

contains(object o):

clear();

遍歷:for迴圈

增強for迴圈

iterator()

listiterator()

注意:add與offer在尾部插入元素時,若超出佇列界限的時候,前者會丟擲異常,而後者會返回false;remove與poll在用空集合呼叫時不是丟擲異常,前者丟擲異常,後者返回null;peek與element用於佇列的頭部查詢元素,當隊列為空時,前者返回null,後者丟擲異常

3.使用linkedlist實現deque和queue介面

deque介面(雙向佇列)

deque繼承queue,deque有3個子類,分別是linkedlist,priorityqueue,arraydeque

queue介面(單向佇列)

linkedlist 的常見 用法

1,boolean add e e 在鍊錶後新增乙個元素,如果成功,返回true,否則返回false void addfirst e e 在鍊錶頭部插入乙個元素 addlast e e 在鍊錶尾部新增乙個元素 void add int index,e element 在指定位置插入乙個元素。2,e ...

vue的常見特性

表單操作 表單的作用 表單是用來做使用者互動的重要手段 表單常見型別 input 單行文字 textarea 多行文字 select 下拉多選 radio 單選框 checkbox多選框 通過vue對表單資料進行操作 v model 雙向繫結 注意 提交表單的時候是用js進行表單提交,而不是預設的表...

LinkedList前世今生

1 linkedlist元素在內部儲存的實現,節點定義即指向前一元素的指標,後一元素的指標,當前元素的值。private static class entry 2 建立乙個空鍊錶。預設有個頭指標header。private transient entryheader new entry null,n...