Objective-C語(yǔ)法之集合對(duì)象的那些事兒
集合對(duì)象的關(guān)鍵字是NSSet與NSMutableSet。前者是不可變集合,后者是可變集合,Objective-C語(yǔ)言中大部分?jǐn)?shù)據(jù)結(jié)構(gòu)都存在可變與不可變兩種數(shù)據(jù)。這里的集合很像Java語(yǔ)言與C語(yǔ)言中的Set,用法基本一樣。但是在
Objective-C語(yǔ)言中同一個(gè)集合可以儲(chǔ)存不同對(duì)象的數(shù)據(jù)。下面分享一個(gè)例子就很清楚的看出。
1. 創(chuàng)建不可變集合對(duì)象
[NSNumber numberWithInteger:9527]; 因?yàn)榧现兄荒艽娣艑?duì)象,所以如果要存數(shù)字的話要把數(shù)字轉(zhuǎn)換成對(duì)象方可存入。
[NSSet setWithObjects:...]:創(chuàng)建集合對(duì)象,并且初始化集合中的數(shù)值,結(jié)尾必需使用nil標(biāo)志。
[set count] ; 得到這個(gè)結(jié)合對(duì)象的長(zhǎng)度。
[set containsObject:...]: 判斷這個(gè)集合中是否存在傳入的對(duì)象,返回Bool值。
[set objectEnumerator]: 將集合放入迭代器。
[enumerator nextObject]:得到迭代器中的下一個(gè)節(jié)點(diǎn)數(shù)據(jù),使用while遍歷這個(gè)迭代器,方可遍歷集合對(duì)象中的對(duì)象。
[set isEqualToSet :objset]:判斷兩個(gè)集合是否完全相等
,
返回Bool值。
[
set isSubsetOfSet:objset
]:判斷集合中的所有數(shù)據(jù)是否都相等與objeset集合中,
返回Bool值。
[set istersectSet:
objset
]:
判斷集合中的至少有一個(gè)數(shù)據(jù)相等與objeset集合中,
返回Bool值。
2.創(chuàng)建可變集合對(duì)象
NSMutableSet 繼承
NSSet ,所以可以使用父類的方法。
[NSMutableSet setWithCapacity:10]:創(chuàng)建可變集合對(duì)象,并且初始化長(zhǎng)度為10。
[set addObject: obj] : 向集合中動(dòng)態(tài)的添加對(duì)象。
[set removeObject:obj]:刪除集合中的一個(gè)對(duì)象。
[set removeAllObjects]:刪除集合中的所有對(duì)象。
[set unionSet:obj]:向集合中添加一個(gè)obj集合的所有數(shù)據(jù)。
[set minusSet:obj]:
向集合中刪除一個(gè)obj集合的所有數(shù)據(jù)。
[set intersectSet]:
向集合中刪除一個(gè)不包含obj集合的所有數(shù)據(jù)。
集合之美,不解釋!哇咔咔~ 晚安喔 ?。?!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
