NSSet和NSArray的對比

2021-07-10 05:27:13 字數 898 閱讀 1649

1> 共同點

* 都是集合,都能存放多個oc物件

* 只能存放oc物件,不能存放非oc物件型別(基本資料型別:int、char、float等,結構體,列舉)

* 本身都不可變,都有乙個可變的子類

2> 不同點

* nsarray有順序,nsset沒有順序

*集合(nsset)是一種雜湊表,運用雜湊演算法,查詢集合中的元素比陣列速度更快

//nsset沒有重複物件

nsarray

*test1 =

@[@"2"

,@"2"

,@"2"];

nsset

*test2 = [[

nsset

alloc

] initwitharray

:test1];

wblog

(@"test2----%d"

,[test2 count]); ----1

NSArray 和 NSSet 的區別

nsarray 有序的集合,儲存的元素在乙個整塊的記憶體中並按序排列 廢話,我學過c語言的陣列這還不知道啊 nsset 無序的集合,雜湊儲存。就是說,如果搜尋乙個元素,nsset的效率會比nsarray高。為什麼呢?剛開始迷糊了,原來道理比較簡單 hash!nsset中元素的儲存和訪問都是乙個has...

NSSArray和NSSet遍歷哪個更快

nsarray的儲存資料的方式是連續的,後乙個資料在記憶體中是緊接著前乙個資料的,而nsset在儲存的時候並不是需要一塊連續的記憶體,是無序的!nsset由於在底層使用hash的思想實現的,所以他就保證了裡面儲存的物件必須是唯一的,而陣列可以儲存相同的幾個物件。由於nsset是用hash實現的所以就...

NSTimer 和 NSArray 同時使用的問題

我宣告乙個全域性變數nsarray存放動畫所需要各幀,然後用nstimer進行定時動畫顯示,如下 myimages nsarray arraywithobjects uiimage imagenamed frame 1.png uiimage imagenamed frame 2.png uiima...