1. 程式人生 > >小白學JAVA《二十二》--- 集合的介面、型別、方法拓展

小白學JAVA《二十二》--- 集合的介面、型別、方法拓展

Map HashMap中,如果是我們的自己定義的類的物件,作為鍵的時候,必須要重寫hashcode( )和equals( ),當然上層的HashSet,也同理 HashMap底層是陣列+單向連結串列的結構,陣列用於存放鍵的hash值,而連結串列用於儲存k-v結構, ,陣列構成了HashMap中的Hash表,表的大小預設是16,可以存放的資料是16載入因子0.75,當超過160.75個數據時, Hash表將自動擴容,擴容後的的大小是16*2^n Hashtable 和HashMap 的區別: 1.Hashtable是執行緒安全的,HashMap是執行緒非安全 2.HashMao中允許存放空鍵(只允許出現一次),空值,但是Hashtable

collections 1.適用於list排序 2.Collections.reverse( ) 反轉集合 3.Collections.sort( ) 升序排序 4.Collections.max( )最大元素 5.Collections.mix( )最小元素 6.Collections和Collection的區別:Collection 是LIst列表集合,和set集合的父介面,Collections是集合工具類

set 不允許元素重複 TreeSet 集合中的元素,必須要實現Comparable介面,並重寫compareTo(),底層是TreeMap,但是TreeMap是採用二叉樹結構來儲存資料,在二叉樹中,比較元素時,比樹中元素小的,永遠在下一代的左邊,當然,比樹中元素大的,永遠在下一代的右邊,相等的,就直接覆蓋,二叉樹結構,見https://blog.csdn.net/github 26672553/article/details/7718500 Hashset底層是hashmap