?
①HashMap
繼承AbstractMap實(shí)現(xiàn)了Map、Cloneable、Serializable等接口;非線程安全
②HashTable
繼承Dictionary實(shí)現(xiàn)Map、Cloneable、Serializable等接口;線程安全
③TreeMap
繼承AbstractMap實(shí)現(xiàn)NavigableMap、Cloneable、Serializable等接口;非線程安全
④LinkedHashMap
LinkedHashMap是HashMap的子類;基本特性和使用與HashMap保持一致。對(duì)于Map而言,如果項(xiàng)目中要求輸入的順序和輸出的相同,此時(shí)即可使用LinkedHashMap實(shí)現(xiàn)。
(三)Set 是元素?zé)o序、不可重復(fù)、可為空的集合
①HashSet
由HashMap實(shí)現(xiàn),不保證元素順序且允許使用null元素;非線程安全
②TreeSet
繼承AbstractSet實(shí)現(xiàn)了NavigableSet、Cloneable、Serializable等接口;非線程安全
以上主要從主要繼承關(guān)系和接口實(shí)現(xiàn)的角度,分析各類庫(kù)的特性。希望大家有一個(gè)整體的把握。
3.常用方法
(一)List常用方法
list的大小size() -- 返回int類型
獲取第i個(gè)元素get(int i) -- 返回元素的值
判斷是否為空isEmpty() --返回boolean類型
是否包含某個(gè)元素contains(Object o) --返回boolean類型
添加元素add(Object o) -- 返回boolean類型
數(shù)組元素索引值indexOf(Object o) -- 返回int類型
移除數(shù)組元素remove(Object o) -- 返回boolean類型,等等。
(二)Map常用方法:
獲取map的大小size() -- 返回int類型
map的清空clear()
包含鍵containKey(Object ?key) -- 返回boolean類型
包含值containValue(Object value) -- 返回boolean類型
獲取指定元素get(Object key) --返回value的數(shù)據(jù)類型
添加元素put(Object key,Object value) --返回添加后的map
移除元素remove(Object key) -- 返回移除的map
修改元素的值replace(Object key,Object value) -- 返回修改后的map,等等。
(三)Set常用方法:
添加元素add(Object o)-- 返回boolean類型
是否包含元素contains(Object o)--返回boolean類型
獲取set的大小size()--返回int類型
判斷set是否為空isEmpty()--返回boolean類型
清空set中的元素clear()
移除元素remove(Object o) --返回boolean類型,等等。
(四)數(shù)組常用方法:
元素個(gè)數(shù)length屬性
末尾添加元素:push()
開(kāi)頭添加元素unshift()
刪除最后一個(gè)元素pop()
刪除第一個(gè)元素shift()
截取數(shù)組元素slice()
數(shù)組翻轉(zhuǎn)reverse() 等,
另外數(shù)組工具類Arrays也提供了如asList(),sort()等諸多操作數(shù)組的方法。有興趣的朋友可以查閱文檔或編程實(shí)踐之。
關(guān)于java集合框架的更多知識(shí)點(diǎn),建議參閱API文檔。
至此,介紹了一些java常用的數(shù)據(jù)類型的基本知識(shí)。
以上基礎(chǔ)知識(shí),建議編碼實(shí)踐,加深理解。熟練掌握基礎(chǔ)后可以研究研究源碼。
下篇將和大家分享各類數(shù)據(jù)結(jié)構(gòu)的遍歷問(wèn)題、轉(zhuǎn)換問(wèn)題。














