dyerac |
|
|||
dyerac In Java |
公告
日歷
統計
導航常用鏈接留言簿(5)隨筆分類(49)
隨筆檔案(36)
文章分類(11)文章檔案(10)相冊dyerac搜索積分與排名
最新隨筆最新評論
閱讀排行榜評論排行榜 |
我決定,還是從基礎學起!
1.ArrayList實際上應該是數組實現,所以不方便做大量的刪除和添加,但是很有效與get(),set()方法 ?? LinkedList是基于鏈表實現,所以不應該用作隨機訪問,但是add(),remove()方法很適用 2.add(),remove()方法會破壞集合的結構,所以在用兩個線程訪問時會出現同步問題.但是set()(改變之前訪問的值)不會. 3.vector和arraylist都是基于數組實現的,它們的區別在于,vector是同步的,會消耗更多的資源,所以不需要同步時,最好使用arraylist ? 同樣的例子還有Hashtable(同步)和HashMap 4.集合的某些操作會有boolean的返回值,該值表示是否改變了集合的結構(比如add).由此可以判斷操作是否成功 5.HashSet不能存放相同的元素, 而且是無序存放的. TreeSet提供了排序的方法,可以讓元素自身實現Comparable接口,或者 為TreeSet制定特殊的排序類Comparator 6. PriorityQueue提供了高效的得到最小元素的方法,這有助于實現任務調度器類似的功能 7.Map的keySet, entrySet, values可以訪問和刪除鍵值或者鍵名,但是不能增加.增加的話必須直接調用Map的方法.同樣,Map中相同的元素只能有一個鍵名 8.WeakHashMap可以把map中不再需要的元素由gc回收 9.LinkedHashSet和LinkedHashMap提供了排序的方法,但是這個排序是可以控制的,accessOrder為true時是按照訪問的順序進行的,為false時是按照你的輸入順序 10.IdientityHashMap通過內存地址計算hascode,因此可以擁有相同的元素,因為它中間的比較是通過"=="而不是equals 11.Collections類提供了一系列操作Collection接口的方法和算法, 比如二分查找, 排序等等(請注意Collections和Collection的區別) 12.視圖技術: ??? 這是集合框架一項出色的技術, 對于現有集合的操作, 比如說選取子集, 由該集合產生特殊集合等等,實際上都沒有創建新的集合,而是在原有集合上創建視圖,該視圖是實現了Collection接口的特殊實現類,用戶對這些類的調用實際上還是對被其包裹的原有集合的調用, 視圖實際上起到了的代理的作用 ?? 因此,視圖的問題在于通過視圖你有時無法調用接口的所有方法,比如List.asList(Array a)可以把數組包裹成列表,但實際上,我們的操作還是直接傳到了數組之中.因此,對于這樣的列表, 所有的更改結構的方法(如add, remove)都不被支持.(代測驗)
|
![]() |
|
Copyright © dyerac in java... | Powered by: 博客園 模板提供:滬江博客 |