黑馬程式設計師 關於集合(下)

2021-06-16 23:36:54 字數 1756 閱讀 9669

---------------------- 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 基本資料型別物件包裝類 將基本資料型別封裝成物件的好處在於可以在 物件中定義更多的功能方法操作該資料。常用的操作之一 用於基本資料型別與字串 ...