NSDictionary 的有序性 (by the key in some rule)

NSDictionary 的有序性: (by the key in some rule)spa

NSDictionary*myDictionary =[NSDictionary dictionaryWithObjectsAndKeys:@"o1",@"k1",@"o6",@"k4",@"o2",@"k2",@"o3",@"k3",@"o5",@"k5", nil];NSInteger count =[myDictionary count];排序

以下代碼1:get

  NSLog(@"%@ ", [myDictionary allKeys]);it

    NSLog(@"%@ ", [myDictionary allValues]);io

    

每次運行都是這樣的結果object

2014-04-10 10:55:58.548[3105:70b] (dict

    k4,di

    k3,co

    k2,

    k5,

    k1

2014-04-10 10:55:58.548[3105:70b] (

    o6,

    o3,

    o2,

    o5,

    o1

)

修改k4 --> k6 

每次運行結果爲

2014-04-10 10:53:38.318[3083:70b] (

    k3,

    k6,

    k2,

    k5,

    k1

2014-04-10 10:53:38.318[3083:70b] (

    o3,

    o6,

    o2,

    o5,

    o1

 

    

 

以下代碼2:

    id __unsafe_unretained objects[count];

    id  __unsafe_unretained keys[count];

    [myDictionary getObjects:objects andKeys:keys];

    

    for(int i =0; i < count; i++){

        id obj = objects[i];

        id key = keys[i];NSLog(@"%@ -> %@", obj, key);

    }

每次運行都是這樣的結果

o6 -> k4

o3 -> k3

o2 -> k2

o5 -> k5

o1 -> k1

修改k4 --> k6 

每次運行結果爲

o3 -> k3

o6 -> k6

o2 -> k2

o5 -> k5

o1 -> k1

由此可知

NSDictionary  實際上是有序的: (by the key in some rule) 根據key進行排序

相關文章
相關標籤/搜索