国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java 集合(list、set、map)的特點

2019-11-15 00:44:16
字體:
來源:轉載
供稿:網友
java 集合(list、set、map)的特點

集合相關的類有一大堆,一般也只用到常用的方法增刪改查,而且它它們的方法名也基本一樣,所以一直都不知道什么時候用什么集合,

今天趁有空特意從網上整理資料方便日后回憶。

一、List:、有順序以線性方式存儲,可以存放重復對象

線程安全方法:Listlist=Collections.synchronizedList(newLinkedList(...));

LinkedList:雙向鏈表實現存儲  索引數據慢插入數度較快  線程不安全(比安全性能好)

ArrayList:數組方式存儲數據  索引數據快插入數據慢  線程不安全

Vector:數組方式存儲數據  索引數據快插入數據慢  線程安全

Stack:繼承自Vector,實現一個后進先出的堆棧

二、Set:無順序,不包含重復的元素

HashSet:為快速查找設計的Set。存入HashSet的對象必須定義hashCode()。

TreeSet: 保存次序的Set, 底層為樹結構。使用它可以從Set中提取有序的序列。

LinkedHashSet:具有HashSet的查詢速度,且內部使用鏈表維護元素的順序(插入的次序)。于是在使用迭代器遍歷Set時,結果會按元素插入的次序顯示。

三、Map:鍵必須是唯一

同步方法:Map m = Collections.synchronizedMap(new TreeMap(...));

Hashtable:基于散列表的實現  允許空鍵空值  線程安全

HashMap:基于散列表的實現  允許空鍵空值  線程不安全  (與Hashtable基本一致)

TreeMap: 基于紅黑樹數據結構的實現  不允許空鍵空值  線程不安全

WeakHashMap:改進的HashMap,它對key實行“弱引用”,如果一個key不再被外部所引用,那么該key可以被GC回收。

在除需要排序時使用TreeSet,TreeMap外,都應使用HashSet,HashMap,因為他們的效率更高。

四、SparseArray<E>:采用了二分法方式存儲數據(安卓的一個集合類)

android系統建議我們用SparseArray<E>來代替HashMap<Integer, E>

SparseArray的使用基本與List一樣,在些不詳細解說,大家可以看http://blog.csdn.net/xyz_fly/article/details/793194


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新干县| 土默特右旗| 罗平县| 丽江市| 禄丰县| 固安县| 内黄县| 崇礼县| 灵石县| 巴彦县| 桐城市| 佳木斯市| 闻喜县| 甘孜| 维西| 石台县| 佛学| 仪征市| 两当县| 曲阜市| 玉屏| 馆陶县| 定南县| 江达县| 松潘县| 浪卡子县| 大埔区| 深州市| 宜丰县| 鄂尔多斯市| 栖霞市| 枣阳市| 仁寿县| 资溪县| 明光市| 工布江达县| 高阳县| 固安县| 鲜城| 修文县| 孟津县|