1.先看下內部的增刪改查方法,對外的方法都是建立在內部方法基礎上的
a.插入到頭結點之前
/**b.加入尾節點之後* links e as first element.
*/private void
linkfirst(e e)
/**c.插入指定節點之前* links e as last element.
*/void
linklast(e e)
/**d.刪除頭節點* inserts element e before non-null node succ.
*/void
linkbefore(e e, node succ)
/**e.刪除尾節點* unlinks non-null first node f.
*/private
e unlinkfirst(node f)
/**f.刪除指定節點* unlinks non-null last node l.
*/private
e unlinklast(node l)
/**g.根據索引查到指定節點* unlinks non-null node x.
*/e
unlink(node x) else
if (next == null) else
x.item = null;
size--;
modcount++;
return element;
}
node node(int index) else}
2.對外開放的增刪改查方法
a.add相關方法
public voidaddfirst(e e)
public voidaddlast(e e)
public booleanadd(e e)
public voidb.remove相關方法add(int index,
e element)
publice removefirst()
publice removelast()
public booleanremove(object o)
}} else }}
return false;
}
publicc.set相關方法e remove(int index)
publicd.get的相關方法e set(int index,
e element)
publice getfirst()
publice getlast()
public booleancontains(object o)
public intindexof(object o)
} else
}return -1
;}
public intlastindexof(object o)
} else
}return -1
;}
JDK原始碼走讀(4) 容器之LinkedList
本章分析list系列中的linkedlist,真正意義上的鍊錶,底層採用鍊錶形式儲存資料元素。linkedlist是乙個雙向鍊錶,可以向前或向後兩個方向遍歷鍊錶。linkedlist也可以存放null元素。一 類實現 繼承體系結構 為了對整個list實現 繼承體系有個全貌,先將體系結構圖畫出來 二 ...
java原始碼分析
在往佇列中插入資料由下面幾個函式,他們的區別就是對佇列滿的情況處理不同 put 一直等待著 offer 無時間 如果空了直接返回false offer 有時間 等待指定的時間,在指定時間內如果空了,那麼插入,負責返回false add 丟擲乙個illegalstateexception異常 首先來看...
java關聯原始碼
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...