資料儲存的常用結構有:堆疊、佇列、陣列、鍊錶。
堆疊,採用該結構的集合,對元素的訪問有如下的特點:
1.先進後出(即,存進去的元素,要在它後面的元素依次取出後,才能取出該元素)。
例如,子彈壓進彈夾,先壓進去的子彈在下面,後壓進去的子彈在上面,當開槍時,先彈出上面的子彈,然後才能彈出下面的子彈。
2.棧的入口、出口的都是棧的頂端位置
3.壓棧:就是存元素。即,把元素儲存到棧的頂端位置,棧中已有元素一次向棧底方向移動乙個位置。
4.彈棧:就是取元素。即,把棧的頂端位置元素取出,棧中已有元素依次向棧頂方向移動乙個位置。
佇列,採用該結構的集合,對元素的訪問有如下的特點:
1.先進先出(存進去的元素,要在它前面的元素依次取出後,才能取出該元素),例如安檢。排成一列,每個人依次檢查,只有前面的人全部檢查完畢後,才能排到當前的人進行檢查。
2.佇列的入口、出口各佔一側。
陣列,採用該結構的集合,對元素的訪問有如下的特點:
1.查詢元素快:通過索引,可以快速訪問指定位置的元素
2.增刪元素慢:
指定索引位置增加元素:需要建立乙個新陣列,將指定新元素儲存在指定索引位置,再把原陣列元素根據索引,複製到新陣列對應索引的位置。
指定索引位置刪除元素:需要建立乙個新陣列,把原陣列元素根據索引,複製到新陣列對應索引的位置,原陣列中指定索引
資料結構 單列集合 List集合 Set集合
1 陣列特點 查詢快 位址是連續的,通過首位址可以找到陣列,通過索引 可以快速查詢某個元素 增刪慢 陣列的長度是固定的,要增刪某個元素,必須重新建立乙個陣列,把資料複製過來 2 arraylist特點 底層也是使用陣列實現,兼具陣列的特點 3 linkedlist特點 底層是鍊錶結構 增刪快 因為如...
使用GreenDao儲存list集合資料
不詩意的女程式猿不是好廚師 具體步驟 1.greendao的配置 在project的build.gradle檔案中 buildscript dependencies 在module的build.gradle檔案中 dependencies 2.建立所需的實體類物件 entity public cla...
list集合轉樹形結構
源資料格式 轉成樹形結構之後的資料為 haschild 1,id 2,pid 1,text 納什空間 haschild 1,id 4,pid 1,text 富士康 廊坊 haschild 1,id 1,pid 0,text 北京 下面是思路 第一步 首先需要建乙個bean類,這裡的iconcls和s...