iOS:字典存储数据的原理

注:适用于Java 等其他语言的技术原理

存储的逻辑

1. 字典底层有一个数组,靠数组来存储数据;
2. 将 key 进行 hash 算法。得到 `hash值`;
3. 将 `hash值` 与 `数组的长度` 进行`位与运算`, 得到的结果为数据应该存储的位置;
4. 找到数组对应的位置,然后设置对应的数据(此处使用链表①进行数据存储)。

取出的逻辑

1. 将 key 进行 hash 算法。得到 `hash值`;
2. 将 `hash值` 与 `数组的长度` 进行`位与运算`, 得到的结果为数据应该存储的位置;
3. 然后找到对应位置的数据。如果不是则判断其 Next。

总结:
其实字典,就是使用 key 得到应该存储的位置。
然后进行添加数据和取出数据

字典和数组的执行效率
 数组:一个一个的遍历。
 字典:根据 key 直接知道对应的索引值
    
 总结:
 因为不知道要查询的数据的索引,所以字典的查询速度更快,执行效率更高。
 在查询大量数据的时候,尽量使用字典。

解释:
①链表:自己去查查

posted @ 2023-04-21 13:39  dulinshun  阅读(116)  评论(0)    收藏  举报