集合的學習總結

2022-03-16 02:22:24 字數 788 閱讀 5817

參考: 

線性表2種區別

分為順序儲存結構(順序表)和鏈式儲存結構(鍊錶)

順序表在記憶體中是順序儲存,首尾相連,遍歷方便(o(1),最快o(logn)),但是插入刪除複雜(最慢達到o(n)),因為改動乙個其他的位置都要改變

鍊錶是無序的,一般包含乙個值域和指標域,指標域儲存指向下乙個元素的位置,插入刪除方便(o(1)),但是訪問和遍歷複雜度高(o(n))

陣列是順序表 list本質是陣列,陣列無法動態分配大小,list會根據集合的大小在記憶體中動態的分配記憶體和拷貝資料集合

stack 是後進先出的佇列 queue是先進先出的佇列

關聯性集合(可以通過key值查詢的)dictionary-雜湊表 sorteddictionary-二叉樹 sortedlist-支援排序的陣列 字典表查詢速度快,內部是雜湊表,不支援順序遍歷,sorteddictionsry是按key值進行排序的字典 sortedlist是按key排序的陣列

非關聯性集合 list-動態陣列(順序表) linkedlist-雙向鍊錶 stack queue haspset等

yield用來構建迭代器,返回型別必須是ienumerable\ienumerable\ienumerator\ienumerator這幾種型別

構建yield迭代器的類不必非得實現ienumerable

yield只有yield return 和yield break兩種用法

想要對類使用foreach 類就必須實現ienumerable介面

返回ienumerable-支援遍歷的 返回ienumerator-不支援遍歷的

List集合和Map集合的學習總結

arraylist 高效 陣列 查詢快 增刪慢 執行緒不安全 vector 低效 陣列 查詢快 增刪慢 執行緒安全 linklist 雙向鍊錶 查詢慢 增刪快 執行緒不安全 1 arraylist vector查詢快 arraylist vector由於底層是陣列實現的,所以查詢快,因為是連續存放元...

學習總結 對映集合

對映 對映的組成 鍵 值對 key value 在乙個map中,鍵key是不可以重複的,是唯一的,value是可以重複的,乙個鍵key對應乙個值value 有hashmap,treemap,linkedhashmap三種,特點與set類似 格式 maplove new hashmap jdk6 格式...

集合框架學習總結

集合實際用來儲存物件 object 但需要注意的是,集合存放的實質上是物件的位址。接下來我們先來看一下集合框架圖,如下 同一顏色方框,我將它們視為同一級 首先由上圖確認一下它們的關係 collection 介面 set 介面 儲存元素特點 元素無序,元素不可以重複,與list集合體系本質區別就是無索...