Perl的数组有多大不同?

mad*_*ode 1 arrays perl hash

我可以在Perl中创建二维数组.Hash的2d数组有何不同?当我们可以使用数组模拟哈希特征时,为什么哈希是perl中的原始数据结构?

Rol*_*lig 6

可能你的意思是你可以拥有这样的数据结构:

my $array_hash = [
  [ "key1", "value1" ],
  [ "key2", "value2" ],
];
Run Code Online (Sandbox Code Playgroud)

对于小数据,这很好用,但考虑到这样一个数组有大约1000个条目的情况.然后,要通过其键找到特定条目,您必须搜索整个数组,这很慢.

原始哈希类型允许快速查找,这正是它的用途.

在Perl中构建散列表的另一个原因是它们是有用的数据结构,因此并非每个程序员都需要实现自己的数据结构.