假设我有一个类似于 -
的数组引用my $arrayref1 = [[1,2], [3,4], [5,6]];
并且,我有另一个数组引用 -
my $arrayref2 = [[1,2], [3,4], [7,8]];
我如何实现这样的目标 -
push @{$arrayref1}, @{$arrayref2};
这样arrayref1将如下所示(不包括包含公共元素的数组引用) -
$arrayref2 = [[1,2], [3,4], [5,6], [7,8]];
答案 0 :(得分:3)
使用散列哈希来表示联合的现有元素:
navigator.addView(String, Class<View>)
答案 1 :(得分:3)
这将按照您的要求进行
use strict;
use warnings 'all';
my $arrayref1 = [[1,2], [3,4], [5,6]];
my $arrayref2 = [[1,2], [3,4], [7,8]];
my $result = meld($arrayref1, $arrayref2);
print join (', ', map { sprintf "[%d,%d]", @$_ } @$arrayref1), "\n";
sub meld {
my ($a1, $a2) = @_;
my %uniq;
$uniq{"@$_"} = 1 for @$a1;
for ( @$a2 ) {
my $key = "@$_";
next if $uniq{$key}++;
push @$a1, [ @$_ ];
}
$a1;
}
[1,2], [3,4], [5,6], [7,8]