Programming
Bash
Arrays
Regex - grep
Strings
C
Arrays
Regex - POSIX
Strings
C++
Arrays
Bimaps
Functions
Maps
Regex
Strings
Go
Arrays
Maps
Strings
Java
Arrays
Regex
Strings
JavaScript
Arrays
Functions
Objects
Regex
Strings
Perl
Arrays
Initialise
Insert
Overwrite
Count
Retrieve by index
Remove by index
Slice
Search
Sort
Use as stack
Use as FIFO
Compare
Regex
Strings
Python
Arrays
Functions
Regex
Strings
Perl Arrays
Initialise
Fixed contents n/a @a=(1,2,3,4,5);
1 2 3 4 5
Insert
Prepend element 'e' @a=(2,3,4);
$e=1;
unshift @a, $e;
1 2 3 4
Prepend element 'e' @a=(2,3,4);
$e=1;
splice @a, 0, 0, $e;
1 2 3 4
Append element 'e' @a=(1,2,3);
$e=4;
push @a, $e;
1 2 3 4
Insert element 'e' at index 'n' @a=(1,2,3,4,5);
$e=666;
$n=3;
splice @a, $n, 0, $e;
1 2 3 666 4 5
Prepend array 'b' @a=(1,2,3,4,5);
@b=(10,20,30);
splice @a, 0, 0, @b;
10 20 30 1 2 3 4 5
Append array 'b' @a=(1,2,3,4,5);
@b=(10,20,30);
push @a, @b;
1 2 3 4 5 10 20 30
Insert array 'b' at index 'n' @a=(1,2,3,4,5);
@b=(10,20,30);
$n=3;
splice @a, $n, 0, @b;
1 2 3 10 20 30 4 5
Concatenate array 'a' and array 'b' @a=(1,2,3);
@b=(4,5,6);
@c=(@a,@b);
1 2 3 4 5 6
Insert element 'e' at indices in 'b' @a=(1,2,3,4,5);
@b=(0,2,4);
$e=666;
foreach $n(reverse(@b))
{
  splice @a, $n, 0, $e;
}
666 1 2 666 3 4 666 5
Overwrite
Overwrite first element @a=(1,2,3);
$a[0]=666;
666 2 3
Overwrite last element @a=(1,2,3);
$a[-1]=666;
1 2 666
Overwrite element at index 'n' @a=(1,2,3);
$n=1;
$a[$n]=666;
1 666 3
Overwrite elements from index 'n' (inclusive) @a=(1,2,3,4,5,6);
@b=(7,8,9);
$n=2;
splice @a, $n, scalar @b, @b;
1 2 7 8 9 6
Count
Length of array @a=(1,2,3);
$n=scalar @a;
3
Retrieve by index
Retrieve first element @a=(1,2,3);
$e=$a[0];
1
Retrieve last element @a=(1,2,3);
$e=$a[-1];
3
Retrieve element 'n' @a=(1,2,3);
$n=2;
$e=$a[$n];
3
Remove by index
Remove element at index 'n' @a=(1,2,3,4,5);
$n=2;
splice @a, $n, 1;
1 2 4 5
Remove elements in index range 'm' to 'n' (inclusive) @a=(1,2,3,4,5);
$m=1;
$n=3;
splice @a, $m, $n;
1 5
Remove elements from index 'n' onwards (inclusive) @a=(1,2,3,4,5);
$n=3;
splice @a, $n, $#a-$n+1;
1 2 3
Slice
Slice from index 'm' to 'n' (inclusive) @a=(1,2,3,4,5);
$m=1;
$n=3;
@a=@a[$m..$n];
2 3 4
Slice from index 'n' onwards (inclusive) @a=(1,2,3,4,5);
$n=2;
@a=@a[$n..$#a];
3 4 5
Slice up to index 'n' (inclusive) @a=(1,2,3,4,5);
$n=3;
@a=@a[0..$n];
1 2 3 4
Slice non-contiguous indices 'x','y' and 'z' @a=(1,2,3,4,5);
$x=0; $y=2; $z=4;
@a=@a[$x,$y,$z];
1 3 5
Slice up to 'n' elements from end @a=(1,2,3,4,5);
$n=2;
@a=@a[0..$#a-$n];
1 2 3
Search
Test element 'e' 'is in' array @a=(1,2,3,4,5);
$e=3;
$t=grep {$_ eq $e } @a;
1
Sort
Sort in ascending order @a=(5,1,4,3,2);
@a=sort {$a <=> $b} @a;
1 2 3 4 5
Sort in descending order @a=(5,1,4,3,2);
@a=sort {$b <=> $a} @a;
5 4 3 2 1
Reverse @a=(1,2,3,4,5);
@a=reverse(@a);
5 4 3 2 1
Use as a stack
Push element 'e' @a=(1,2,3,4,5);
$e=666;
push @a, $e;
1 2 3 4 5 666
Pop next element @a=(1,2,3,4,5);
pop @a;
1 2 3 4
Retrieve next element @a=(1,2,3,4,5);
$e=$a[-1];
5
Use as a FIFO
Add element 'e' @a=(1,2,3,4,5);
$e=666;
push @a, $e;
1 2 3 4 5 666
Remove next element @a=(1,2,3,4,5);
shift @a;
2 3 4 5
Retrieve next element @a=(1,2,3,4,5);
$e=$a[0];
1
Compare
Test for equality (true) @a=(1,2,3,4,5);
@b=(1,2,3,4,5);
$t=(sub
{
  return 0 if scalar $a != scalar $b;
  for (my $i=0; $i<scalar @a; $i++)
  {
    return 0 if $a[$i] != $b[$i];
  }
  return 1
})->(\@a,\@b);
1
Test for equality (false) @a=(1,2,3,4,5);
@b=(1,2,3,4,50);
$t=(sub
{
  return 0 if scalar $a != scalar $b;
  for (my $i=0; $i<scalar @a; $i++)
  {
    return 0 if $a[$i] != $b[$i];
  }
  return 1
})->(\@a,\@b);
0