Abh*_*rni 3 perl
我在Perl中声明了一个哈希值,后来我按特定顺序添加了几个键值对.当我迭代哈希时,键值对的存储顺序与它们的顺序不同.是什么原因?
mvp*_*mvp 11
因为哈希保持数据的顺序由哈希函数控制.好的哈希函数将键映射到几乎随机的哈希值.
如果你想在Perl中使用有序哈希,你可以使用Tie::Hash::Indexed或Tie::IxHash.
Tie::Hash::Indexed
Tie::IxHash
Mag*_*nus 5
哈希映射通常不会保留任何语言的顺序.
您可以在迭代它们之前对键进行排序以获得排序顺序,或者如果您确实需要原始插入顺序,则可以将其单独保存在单独的数组中.
归档时间:
13 年,5 月 前
查看次数:
182 次
最近记录:
10 年,9 月 前