我有一个数组散列。哪种方式是循环最有效和最快速的方式。更有效地循环散列数组
my %h1 = (
C1 => ['3','1','2'],
C2 => ['6','2','4'],
C3 => ['8', '1'],
);
OPTION 1
foreach my $key (keys %HoA) {
print "Articles in group $key are: ";
foreach (@{$HoA{$key}}) {
print "$_\n";
}
}
OPTION 2
while(my ($k, $v) = each %HoA) {
print "Articles in group $k are: @$v\n";
}
哪一个会救我的时间,如果我将通过一个巨大的家乡地址循环。
你的基准测试告诉你什么? – SecurityMatt
目前我有一个子程序,我使用嵌套的for-loop(选项1)循环使用一个大的HoA。使用嵌套的for-loops,子程序需要约。运行5-12秒。我还没有尝试使用while循环来循环HoA。 – cooldood3490
这两个不相同。选项2不会打印数组的内容。 – Borodin