配列内のリストを効率よく走査するには
Perlで下記のような構造を持つ配列があります。
@array = ({
id => '1',
key => 'a'
},
{
id => '2',
key => 'b'
},
{
id => '4',
key => 'c',
})
ここで、@array
にid=4
が存在するかどうかを調べる際、例えば
foreach my $x (@array){
if($x->{id} == 4) ...
}
等として調べることが可能ですが、これでは処理回数が線形的に増え、効率的とは言えません。
何かピンポイントでid=4
を調べる良い方法は無いでしょうか。
教えてください。よろしくお願いします。