1. 程式人生 > >基礎篇之集合(二)總結

基礎篇之集合(二)總結

線程不安全 emp abstract 和集 write next 不可變 叠代器 關系

1. Map集合和collection結合的區別

1》Collection一次存一個元素;Map一次存一對元素;

2》Collection是單列集合;Map是雙列集合;

3》Map中的存儲的為鍵值對,鍵與值之間存在著映射關系 。

2. 數組和集合的區別

1》數組長度固定;集合長度可變;

2》數組可以存儲基本數據類型和存儲引用數據類型;集合只能存儲引用數據類型;

3. map下常用的集合<HashMap,TreeMap>

HashMap:底層基於數組加鏈表,鍵不可以重復,值可以重復,重寫了equals和hashcode方法;

原因:原因同HashSet。

Treemap:鍵可以排序,不可以重復,原理同TreeSet。

4.叠代器(iterator和Enumeration和ListIterator)

Iterator是Enumeration的升級版;

vector和hashtable用的叠代器是Enumeration;

hashmap,arraylist等的叠代器用是Iterator。

ListIterator是list集合特有的叠代器,可以在遍歷的過程中對元素的增、刪、改、查,其他兩個不能;

用法:

Hashnext同hasMoreElements;

Next同nextElement;

iterator較Enumeration多了remove,移除元素。

5. Hashtable同hashmap的區別;

Hashtable:鍵和值不能為空,線程安全,效率低,默認叠代器為Enumeration,父類為 Dictionary;

Hashmap:鍵可以一個為空,值可以多個為空,線程不安全,效率高,默認叠代器為iterator,父類為abstractmap;

Hashmap是hashtable的升級版,其他用法類似。

6. Properties

1》父類為hashtable

2》鍵值對可以通過put及setProperty輸入, setProperty有返回值;

3》值的獲取可以通過get及getProperty(String key) 和getProperty(String key, String defaultValue),其中getProperty (String key, String defaultValue)在沒有找到鍵的情況下可以返回指定返回值,String defaultValue為指定返回值;

4》list(PrintStream out):可以把流中的鍵值讀取到Properties集合中,system.out的返回值是PrintStream返回類型;可以輸出到控制臺(可以把文本路徑寫成Filedescriptor.out),也輸出到文件中,鍵值對格式為123=123-456,123為鍵,456為值,也可以把Properties集合的鍵值對寫入相對應的流,外加註釋的形式。

5》Properties集合的格式可以保存為Properties格式及xml格式

6》Properties常用方法

getProperty(String key, String defaultValue)獲取值,沒有按默認值返回

setProperty(String key, String value)輸入鍵值對有返回值

store(Writer writer, String comments)以Properties格式將鍵值對寫入輸出流,String comments註釋文字

load(Reader reader)從文本中讀取鍵值對

7. Weakhashmap

假如鍵為弱引用,在垃圾回收機制下會被回收,用法和hashmap差不多。

8. IdentityHashMap

根據地址是否相同去重,用法和hashmap差不多。

9. Enummap

鍵必須是枚舉值,用法和hashmap差不多。

10. Collections常用方法

Sort()按照自然順序排序

sort(List<T> list, Comparator<? super T> c)根據指定比較強排序

synchronized 保證線程安全

Empty 空容器,可以避免空指針異常

Singleton 只包含一個元素的容器

Unmodifiable 不可變的容器

reverse(List<?> list) 反轉順序

11.collections和collection的區別

1》 collections為工具類,collection為單列集合

2》 collections為collection中的list提供了大量的排序方法

3》 collections為collection提供了同步機制,保證線程安全等

基礎篇之集合(二)總結