本质原因是 Map 底层是 Hash 表。
当你插入键值对时:
对
key做 hash 运算根据 hash 结果决定存到哪个 bucket
bucket 里再存具体数据
因为 hash 结果是离散分布的,所以:
插入顺序 ≠ 存储顺序
遍历顺序 ≠ 插入顺序
本质原因是 Map 底层是 Hash 表。
当你插入键值对时:
对 key 做 hash 运算
根据 hash 结果决定存到哪个 bucket
bucket 里再存具体数据
因为 hash 结果是离散分布的,所以:
插入顺序 ≠ 存储顺序
遍历顺序 ≠ 插入顺序