集合類型

集合類型有三種:

Array數(shù)組,基于索引的有序的序列

Set,無序的,而且值是唯一的集合

Dictionary,鍵值對,Keys只能是唯一的,Values可以是重復(fù)的

NSArray被定義為class,引用類型,拷貝時(shí)就是指針在拷貝,指向的還是同樣的對象

數(shù)組封裝后具有面向?qū)ο筇匦?索引從0開始,索引訪問越界會拋出運(yùn)行時(shí)異常

NSArray的元素必須是對象,即NSObject的子類

如值類型,不能直接放入數(shù)組,要用NSNumber來封裝為對象類型才可以

1.使用NSNumber將NSInteger包裝為對象

2.或使用字面常量初始化

如C語言結(jié)構(gòu)類型,須用NSValue封裝為對象類型,才能放入數(shù)組

使用NSValue將struct包裝為對象

數(shù)組元素可以是不同對象類型,可能會有類型不安全

NSArray具有常量性,長度和元素指針都不能更改,但指針指向的對象內(nèi)部可以更改

兩個(gè)對象默認(rèn)只能比較指針是否相等,如果比較對象是否相等,必須重寫NSObject的isEqual函數(shù),然后提供值相等的比較

數(shù)組遍歷,有三種方式:

最快,Fast Enumeration,快速枚舉方法,優(yōu)化索引檢查和動(dòng)態(tài)消息分發(fā)

較慢,NSEnumerator,迭代器設(shè)計(jì)模式

最慢,For循環(huán)

數(shù)組查找

indexOfObject查找值是否相等的對象

indexOfObjectIdenticalTo查找引用相等的對象

數(shù)組排序

不改變原數(shù)組(常量性),返回新數(shù)組

NSMutableArray可變數(shù)組

支持更改長度和元素指針,是NSArray的子類

NSMutableArray初始化后,會分配一個(gè)緩存容量capacity,一般大于實(shí)際容量,長度增加時(shí),capacity會以近似二倍方式增長,代價(jià)是分配新的堆內(nèi)存,長度是以前的兩倍,原來堆內(nèi)存的元素拷貝到新的堆內(nèi)存上,再釋放以前的堆內(nèi)存

避免方法:給預(yù)估容量,避免以后增長

常量集合NSSet是無序集合,存儲對象不能重復(fù),被定義為class,也是引用類型

可變集合NSMutableSet,創(chuàng)建時(shí)提前設(shè)好capacity

集合支持Fast Enumeration和NSEnumerator,前者較快

NSDictionary是存儲key-value的無序集合,key唯一,value可重復(fù),被定義為class,引用類型

可變NSMutableDictionary,用initWithCapacity提前設(shè)capacity

Dictionary支持Fast Enumeration和NSEnumerator,前者較快

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末魔眨,一起剝皮案震驚了整個(gè)濱河市媳维,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌遏暴,老刑警劉巖侄刽,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異朋凉,居然都是意外死亡州丹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來墓毒,“玉大人吓揪,你說我怎么就攤上這事∷疲” “怎么了柠辞?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長主胧。 經(jīng)常有香客問我叭首,道長,這世上最難降的妖魔是什么踪栋? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任焙格,我火速辦了婚禮,結(jié)果婚禮上夷都,老公的妹妹穿的比我還像新娘眷唉。我一直安慰自己,他們只是感情好囤官,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布冬阳。 她就那樣靜靜地躺著,像睡著了一般治拿。 火紅的嫁衣襯著肌膚如雪摩泪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天劫谅,我揣著相機(jī)與錄音,去河邊找鬼嚷掠。 笑死捏检,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的不皆。 我是一名探鬼主播贯城,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼霹娄!你這毒婦竟也來了能犯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤犬耻,失蹤者是張志新(化名)和其女友劉穎踩晶,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枕磁,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渡蜻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茸苇。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡排苍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出学密,到底是詐尸還是另有隱情淘衙,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布腻暮,位于F島的核電站彤守,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏西壮。R本人自食惡果不足惜遗增,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望款青。 院中可真熱鬧做修,春花似錦、人聲如沸抡草。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽康震。三九已至燎含,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間腿短,已是汗流浹背屏箍。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留橘忱,地道東北人赴魁。 一個(gè)月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像钝诚,于是被迫代替她去往敵國和親颖御。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 認(rèn)識數(shù)組1)數(shù)組是一個(gè)有序的元素序列凝颇,支持隨機(jī)存儲潘拱。索引從0開始,索引訪問越界會拋出運(yùn)行時(shí)異常拧略。注意與C語言數(shù)組不...
    羊妞麻麻閱讀 286評論 0 0
  • 集合類型: Swift芦岂,和其他現(xiàn)代編程語言一樣,有內(nèi)置的集合類型數(shù)組(Array)和字典(Dictionary)辑鲤,...
    小松樹先生閱讀 1,093評論 0 2
  • 前言 3月27號蘋果發(fā)布了Swift3.1盔腔,官方教程也更新到了3.1,查看更新記錄發(fā)現(xiàn)更新的內(nèi)容對之前的文章并沒有...
    BoomLee閱讀 3,127評論 0 4
  • 王楠和張爽從小就是鄰居,但是由于性格的原因弛随,她們走的并不近瓢喉,而且還暗中叫著勁,學(xué)習(xí)都非常努力舀透,希望超過對方栓票。但是這...
    安靜寫字的女子閱讀 714評論 25 55
  • 在這片不大的寺廟里居住著不多的人,常住修行的僧人只有五個(gè)愕够,平均年紀(jì)都超過了70歲走贪,而平時(shí)來這里的香客不多,居住的居...
    曉雪姑娘閱讀 538評論 0 4