集合適用場景
對於查詢和刪除較為頻繁,且元素數量較多的應用,set或map是更好的選擇;
arraylist適用於通過為位置來讀取元素的場景;
linkedlist 適用於要頭尾操作或插入指定位置的場景;
vector 適用於要執行緒安全的arraylist的場景;
stack 適用於執行緒安全的lifo場景;
hashset 適用於對排序沒有要求的非重複元素的存放;
treeset 適用於要排序的非重複元素的存放;
hashmap 適用於大部分key-value的訪問場景;
treemap 適用於需排序存放的key-value場景。
Java常用集合包適用場景
1.arraylist 基於陣列方式實現,無容量的限制。在執行插入元素時可能要擴容,在刪除元素時並不會減少陣列的容量。如果希望相應的縮小陣列容量,可以呼叫trimtosize 在查詢元素時要遍歷陣列,對於非null的元素採取equals的方式尋找。非執行緒安全。2.linkedlist 基於雙向鍊錶...
java 集合 幾種集合的區別及適用場景
後台開發工作中經常遇到一些使用集合的場景,幾種集合的優缺點又老是記不住,所以寫了這篇部落格。首先大的集合分為 list,set,map三種,其中list與set是繼承自collection,而map不是。list與set的區別 list中的元素有存放順序,並且可以存放重複元素,檢索效率高,插入刪除效...
C 實現集中常見的排序演算法
為什麼需要複習排序演算法,因為面對許多資料處理的時候,我們需要有限考慮時間複雜度,基本排序演算法能夠給我們很多靈感!資料結構 不定最差時間複雜度 o n 2 最優時間複雜度 o n log n 平均時間複雜度 o n log n 最差空間複雜度 根據實現的方式不同而不同 快速排序法 產生隨機數組 1...