linkedlist是是乙個雙向鍊錶,其元素指向它前面和後面的元素,
鍊錶的優點是,如果將元素插入列表的中間位置,使用鍊錶就會非常快。在插入乙個元素時,只需修改上乙個元素的next引用和下乙個元素的previous引用,使它們引用所插入的元素。在list中,插入乙個元素時,需要移動該元素後面的所有元素。
鍊錶缺點。鍊錶的元素只能乙個接乙個地訪問,這需要較長的時間來查詢位於鍊錶中間或尾部的元素。
儲存元素:鍊錶不僅能像列表中儲存元素。儲存元素時,鍊錶還必須儲存每個元素儲存下乙個元素和上乙個元素的資訊。這就是linkedlist包含linkedlistnode型別的元素的原因。使用linkedlistnode可以獲得列表中的下乙個元素和上乙個元素。
linkedlistnode定義了屬性list、next、previous和value。list屬性返回與節點相關的linkedlist物件,next和previous屬性用於遍歷鍊錶,訪問當前節點之後和之前的節點。value返回與節點相關的元素,其型別是t。
訪問資料操作:
linkedlist定義的成員可以訪問鍊錶中的第乙個和最後乙個元素first和last、在指定位置插入元素addafter()、addbefore()、addfirst ()和addlast()方法),刪除指定位置的元素remove()、removefirst()和removelast()方法)、從鍊錶的開頭find()方法)或結尾findlast())開始搜尋元素。
集合之Collections集合工具類(四)
操作collection以及map介面的工具類 reverse list 反轉list中元素的順序 shuffle list 對list集合元素進行隨機排序 sort list 根據元素的自然順序對指定list集合元素按照公升序排序 sort list,comparator 根據指定的compara...
c 中常用集合類和集合介面之集合類系列
常用集合類 陣列 array 的不足 即 集合與陣列的區別 1.陣列是固定大小的,不能伸縮。雖然system.array.resize這個泛型方法可以重置陣列大小,但是該方法是重新建立新設定大小的陣列,用的是舊陣列的元素初始化。隨後以前的陣列就廢棄!而集合卻是可變長的。2.陣列要宣告元素的型別,集合...
c 中常用集合類和集合介面之集合類系列
常用集合類 陣列 array 的不足 即 集合與陣列的區別 1.陣列是固定大小的,不能伸縮。雖然system.array.resize這個泛型方法可以重置陣列大小,但是該方法是重新建立新設定大小的陣列,用的是舊陣列的元素初始化。隨後以前的陣列就廢棄!而集合卻是可變長的。2.陣列要宣告元素的型別,集合...