免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Java util之常用數(shù)據(jù)類型特性盤點

在做應用性能優(yōu)化時,常發(fā)現(xiàn)因為數(shù)據(jù)類型使用不當導致的性能、資源浪費問題,甚至老手也常發(fā)生此類失誤,因此想盤點一下,搞一個類似叫做"quick page"的東東。

歡迎修訂增補。

Java util之常用數(shù)據(jù)類型特性盤點

java.util就相當于c++的STL,是Java的一個非常重要的包,有很多常用的數(shù)據(jù)類型,不同數(shù)據(jù)類型有不同的用途,而有些數(shù)據(jù)類似乎很相似,怎樣選擇應用,就需要對它們進行辨析。
下面列出了這些數(shù)據(jù)類型的特點,根據(jù)這些特點,就可以有針對性的選用
 
* 藍色為接口,綠色為具體實現(xiàn)類
* 縮進的層次結構,就是implement或extend的層次關系
* 每個接口或類都具備其所有上層接口、類的特性
 
Collection
........|--------List
........|..........|----------ArrayList
........|..........|----------Vector
........|..........|.............|-----Stack
........|..........|----------LinkedList
........|--------Set
...................|----------HashSet.
...................|.............|-----LinkedHashSet
...................|----------SortedSet
.................................|-----TreeSet
 
Iterator
.....|-------ListIterator
 
Map
.....|------Hashtable
.....|..........|------Properties
.....|------HashMap
.....|..........|------LinkedHashMap
.....|------WeakHashMap
.....|------SortedMap
................|------TreeMap

 
Collection.
●..實現(xiàn)該接口及其子接口的所有類都可應用clone()方法,并是序列化類.

.....List.
.....●..可隨機訪問包含的元素
.....●..元素是有序的
.....●..可在任意位置增、刪元素
.....●..不管訪問多少次,元素位置不變
.....●..允許重復元素
.....●..用Iterator實現(xiàn)單向遍歷,也可用ListIterator實現(xiàn)雙向遍歷

..........ArrayList
..........●..用數(shù)組作為根本的數(shù)據(jù)結構來實現(xiàn)List
..........●..元素順序存儲
..........●..新增元素改變List大小時,內部會新建一個數(shù)組,在將添加元素前將所有數(shù)據(jù)拷貝到新數(shù)組中
..........●..隨機訪問很快,刪除非頭尾元素慢,新增元素慢而且費資源
..........●..較適用于無頻繁增刪的情況
..........●..比數(shù)組效率低,如果不是需要可變數(shù)組,可考慮使用數(shù)組
..........●..非線程安全
.
..........Vector.
..........●..另一種ArrayList,具備ArrayList的特性
..........●..所有方法都是線程安全的(雙刃劍,和ArrayList的主要區(qū)別)
..........●..比ArrayList效率低

...............Stack
...............●..LIFO的數(shù)據(jù)結構

..........LinkedList.
..........●..鏈接對象數(shù)據(jù)結構(類似鏈表)
..........●..隨機訪問很慢,增刪操作很快,不耗費多余資源
..........●..非線程安全

.....Set.
.....●..不允許重復元素,可以有一個空元素
.....●..不可隨機訪問包含的元素
.....●..只能用Iterator實現(xiàn)單向遍歷

..........HashSet
..........●..用HashMap作為根本數(shù)據(jù)結構來實現(xiàn)Set
..........●..元素是無序的
..........●..迭代訪問元素的順序和加入的順序不同
..........●..多次迭代訪問,元素的順序可能不同
..........●..非線程安全

...............LinkedHashSet
...............●..基于HashMap和鏈表的Set實現(xiàn)
...............●..迭代訪問元素的順序和加入的順序相同
...............●..多次迭代訪問,元素的順序不便
...............●..因此可說這是一種有序的數(shù)據(jù)結構
...............●..性能比HashSet差
...............●..非線程安全

..........SortedSet
..........●..加入SortedSet的所有元素必須實現(xiàn)Comparable接口
..........●..元素是有序的

...............TreeSet.
...............●..基于TreeMap實現(xiàn)的SortedSet
...............●..排序后按升序排列元素
...............●..非線程安全

-----------------------------------
 
Iterator..
●..對Set、List進行單向遍歷的迭代器

..........ListIterator.
..........●..對List進行雙向遍歷的迭代器

-----------------------------------

Map
●..鍵值對,鍵和值一一對應
●..不允許重復的鍵.

.....Hashtable.
.....●..用作鍵的對象必須實現(xiàn)了hashcode()、equals()方法,也就是說只有Object及其子類可用作鍵
.....●..鍵、值都不能是空對象
.....●..多次訪問,映射元素的順序相同
.....●..線程安全的

..........Properties
..........●..鍵和值都是字符串

.....HashMap
.....●..鍵和值都可以是空對象
.....●..不保證映射的順序
.....●..多次訪問,映射元素的順序可能不同
.....●..非線程安全

...............LinkedHashMap
...............●..多次訪問,映射元素的順序是相同的
...............●..性能比HashMap差

.....WeakHashMap..
.....●..當某個鍵不再正常使用時,垃圾收集器會移除它,即便有映射關系存在
.....●..非線程安全

.....SortedMap.
.....●..鍵按升序排列
.....●..所有鍵都必須實現(xiàn).Comparable.接口.

...............TreeMap.
...............●..基于紅黑樹的SortedMap實現(xiàn)
...............●..非線程安全

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java 集合框架
Java提高篇之集合大家族(轉自http://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=2651477362&idx=2&sn=c14dba95937
Java集合總覽
Java集合
花了20天的時間給粉絲整理的一套"最全"的Java求職筆記(一)
50道Java集合經(jīng)典面試題(收藏版)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服