---------------------- asp.net+android+ios開發、.net培訓、期待與您交流!----------------------
在學習map介面之前必須先了解泛型,泛型是用於解決安全問題,是乙個型別安全機制。通過<>來定義要操作的引用資料型別,在集合框架中定義泛型用來確定資料型別,使得只有在傳入資料型別正確的情況下,編譯才可以通過。
map介面: 存放鍵值對映的物件,其中鍵要保證唯一。主要包含一下三種:
1、hashtable類:底層是雜湊表資料結構,不允許使用 null 值和null 鍵。該集合是執行緒同步的,效率較低。
2、hashmap類:底層也是雜湊表資料結構,允許使用 null 值和null 鍵,此類不保證對映的順序,特別是它不保證該順序恆久不變。該集合是執行緒不同步的,效率較高。
3、treemap類:底層是二叉樹資料結構。該集合是執行緒不同步的,可以用於給map集合中的鍵進行排序。
對於以上幾個map介面的子類,有一些共性方法:
1、新增:
put(kkey, v value):新增時如果前後是相同的鍵,那麼後新增的值會覆蓋該鍵對應的原值。並且返回被覆蓋的值。
putall(map<? extends k,? extendsv> m)
2、刪除。
clear() :清除所有鍵值對。
remove(object key):刪除指定鍵對應的鍵值對。
3、判斷:返回的都是boolean值
containsvalue(object value)
containskey(object key)
isempty()
4、獲取。
get(object key) :獲取對應鍵的值。可以通過這個方法的返回值來判斷乙個鍵是否存在,null為不存在。
size() :map集合中鍵值對數量。
values():獲取map集合中所有的值。
keyset() :將map中所有的鍵存入set集合。因為set具備迭代器,所以可以用迭代方法取出所有的鍵,再根據get方法獲取每乙個鍵對應的值。
set>
entryset():將map集合中的對映關係存入到了set集合中,而這個關係的資料型別就是map.entry。
另外,集合框架中還提供了兩個工具類
collections類和arrays類。
工具類中提供的一般都是靜態方法,可以直接通過類名.方法名呼叫。
collections類中有以下方法:
sort(listlist):自然排序
sort(listlist,comparator<? super t>c):比較器排序
reverse():反轉
reverseorder():返回乙個比較器,強行逆**然順序
reverseorder(comparator
comp):強行逆轉指定比較器
replaceall():將所有為舊值的元素都用指定的新值替代
arrays類是用於運算元組的工具類。
aslist:將陣列變成list集合,如果陣列中的元素都是物件,那麼變成集合時,陣列中的元素就直接轉成集合中的元素;如果陣列中的元素都是基本資料型別,那麼會將該陣列作為集合中的元素存在。
toarray:
將集合變成陣列,這是
collection
介面中的方法。
---------------------- asp.net+android+ios開發、.net培訓、期待與您交流!----------------------
詳細請檢視:
黑馬程式設計師 集合
collection list 元素是有序的,元素可以重複。因為該集合體系有索引。arraylist 底層的資料結構使用的是陣列結構。特點 查詢速度很快。但是增刪稍慢。執行緒不同步。linkedlist 底層使用的鍊錶資料結構。特點 增刪速度很快,查詢稍慢。執行緒不同步。vector 底層是陣列資料...
黑馬程式設計師 集合
asp.net unity開發 net培訓 期待與您交流!1.集合類 為什麼會出現集合類?面對物件語言對事物的體現都是以物件的形式,所以為了方便對多個物件的操作,就對物件進行儲存,集合就是儲存物件最常用的一種方式。集合類的特點 集合只用於儲存物件,集合的長度是可變的,集合可以儲存不同型別的物件。集合...
黑馬程式設計師 集合
集合 string類 字串是乙個特殊的物件。字串一旦初始化就不可以被改變。string str abc string str1 new string abc 基本資料型別物件包裝類 將基本資料型別封裝成物件的好處在於可以在 物件中定義更多的功能方法操作該資料。常用的操作之一 用於基本資料型別與字串 ...