iOS中NSMutableDictionaryKey和Value存入时为什么会自动排序

NSMutableDictionary *dic=[[NSMutableDictionary alloc]init];
dic[@"a"]=@"123
dic[@"e"]=@"123";
dic[@"c"]=@"123e;
dic[@"d"]=@"123;
dic[@"b"]=@"123;
NSLog之后是
{
"a" = 123;
"b" = 123;
c = "123";
d = 123;
}
不是按照插入顺序输出的

NSMutableDictionaryKey 是字典,它是树形结构,不是排序的,也就是它的输出不会按照你的输入顺序输出。

字典的底层实现是哈希表,所以输出肯定是无序的,如果你要有序输出,可以把你的key放到一个数组中,然后根据数组key 的顺序来查值输出