Dictionary的底层原理

Dictionary的底层原理 Dictionary的底层原理图存储结构:数组加单链运用了bucketsentries两个数组为了提高查询效率:int[] buckets桶数组,存放的每一个链表的头节点的下标详细步骤dict.Add(k1,v1)通过k1获取HashCode值然后除以buckets桶的个数获取在桶中存储的位置k11304016835,k1%bucket.lenth(5)0将k1存储在桶为0的位置如果该位置下entries下标为-1代表还没存储数据就往空的位置加入然后使next指向-1该数据下标为0如果不为-1则往末尾加加好后使next值指向前一个元素的下标再将自己的下标赋值给桶在该位置的数使用的时候就是先拿到桶的位置然后遍历链表而不是遍历整个数组时间复杂度从On—O(1)注意事项原链表最多存储100个数据超出的话则给桶扩容至下一个质数5-7-11...