list介面下的主要兩個實現類, arraylist已經討論過了。 這次再看看linkedlist的底層實現
linkedlist所實現的介面和繼承的父類和arraylist差不多, 但是它多實現了乙個deque介面
linkedlist是基於鍊錶實現的,其中每個元素其實是每個節點內部的element,
linkedlist的新增元素操作相對於arraylist是非常快的,因為arraylist需要對其實例內部的陣列進行重新布局整理,而linkedlist只需要在內部的鍊錶的某個位置插入乙個節點, 這個節點的element就是插入的元素。 具體的實現是addbefore方法,
而linkedlist在內部元素的隨機訪問上比arraylist慢多了, 因為arraylist是直接對內部陣列進行索引的,而linkedlist是從例項內部儲存的空節點(這個空節點的上乙個節點是隊首,下乙個節點是隊尾)開始遍歷。 需要通過迴圈,對每乙個節點進行訪問(不但需要訪問節點,還得訪問節點內部的屬性)。 因此速度上、效率上比arraylist低多了
迭代器實現上也有區別。 arraylist使用的還是父類abstractlist的迭代器實現
而linkedlist自己在類內部實現了迭代器。
linkedlist的方法有很多相似的。 也有很多1.5、 1.6之後新增的新方法, 而這些新方法僅僅是對此類內部的原有方法進行了封裝。 換湯不換藥!
淺入深出Vue 前言
之前大部分是在做後端,後來出於某些原因開始接觸vue。深感前端變化之大,各種工具 框架令人眼花繚亂。不過正是這些變化,讓前端開發更靈活。博主在剛開始時,參考官網的各個步驟以及網上的部落格。搭個環境,跑起來demo都費了大半天的勁。本系列文章將由始至終圍繞乙個簡易的個人部落格專案展開,在闡述的同時利用...
CSS 之 淺入淺出
css,層疊樣式表 英語 cascading style sheets,簡寫css 又稱串樣式列表 層次結構式樣式表檔案,一 種用來為結構化文件 如html文件或xml應用 新增樣式 字型 間距和顏色等 的計算機語言。層疊 是指乙個 檔案的樣式可以從其他的樣式表中繼承下來。讀者在有些地方可以使用他自...
XGBoost淺入淺出
xgboost風靡kaggle 天池 datacastle kesci等國內外資料競賽平台,是比賽奪冠的必備大殺器。我在之前參加過的一些比賽中,著實領略了其威力,也取得不少好成績。如果把資料競賽比作金庸筆下的武林,那麼xgboost可謂屠龍刀,號令天下,莫敢不從!倚天不出,誰與爭鋒?xgboost工...