-----------android教育訓練、java教育訓練、java學習型技術部落格、期待與您交流!------------
Map集合
Map差別于Collection集合,它一次存儲2個對象是雙列集合,一個為Key,一個為值。
HashMap底層使用的是雜湊演算法去除重複的元素,線程是不安全的,但是效率高,不過是無序的。
HashMap還有一個子類LinkedHashMap.它的底層和HashMap一樣也是通過雜湊演算法去除重複的,不過它是怎麼存入怎麼取。
TreeMap底層使用的是二叉樹,可以通過比較器Comparator或者實作Comparable接口自定義排序方式。
Hashtable它是集合的早期版本,功能類似于HashMap,線程是不安全的,效率較低,還有就是它的值和鍵都不能為null.
Map集合主要的特點是一次性存入鍵和值倆個對象,并且集合中的鍵是唯一的,是以說可以通過鍵值來查找對象
Map集合中的方法。
put() 存儲一條記錄, 一個鍵和一個值
get() 根據鍵對象擷取值
containsKey() 判斷是否包含指定的鍵
containsValue()判讀是否包含這個值
remove(key) 根據鍵删除所屬對象
疊代Map集合方法
1.先調用keySet()方法從Map集合中擷取所有key組成的一個Set集合,疊代集合可以得到每一個key,然後再
通過get()方法的鍵擷取每一個Value.
2.其次,先調用entrySet()方法從Map集合中擷取所有Entry(鍵值對)組成的一個Set集合然後調用getKey()和
getValue方法得到每一個鍵和值
在使用HashMap存儲鍵值對的時候, 先調用Key對象的hashCode()方法計算一個哈希值, 在Map中查找是否
有相同哈希值的Key對象 。
如果沒有哈希值相同的Key對象, 這個鍵值對直接存入。
如果有哈希值相同的Key對象, 那麼就進行equals比較
比較是結果是false時,存入鍵對象,如果是true則覆寫原Value
Collection和Collections的差別
Collection是單列集合的根據接口
Collections是一個工具類,裡面所有的方法都是靜态的,為集合提供服務的
sort()對指定清單按升序進行排序。
sort(List<T> list, Comparator<? super T> c)對指定的清單用我們指定的方式排序
reverseOrder()傳回一個比較器,它強行逆轉實作了 Comparable 接口的對象 collection 的自然順序
reverseOrder(Comparator<T> cmp)傳回一個比較器,它強行逆轉指定比較器的順序。也可用作參數的形式傳給TreeSet
max和min//max(list)//max(list,比較器);
binarySearch()對有序的集合二分查找
fill(List<? super T> list, T obj)用obj将集合中的元素替代
reverse(List<?> list)集合反轉
swap(List<?> list, int i, int j);指定位置的交換
shuffle(List<?> list);對集合中的元素随機置換
replaceAll(List<T> list, T oldVal, T newVal)新元素替換老元素
synchronizedList(List<T> list)傳回指定清單支援的同步(線程安全的)清單
-----------android教育訓練、java教育訓練、java學習型技術部落格、期待與您交流!------------