配列(リスト)の最後に要素を追加するには (push)
配列(リスト)の最後に要素を追加する方法。
Java
配列 2014/08/01
配列は長さが固定なので、長さが変わるような操作をする手段はない。
java.util.List
2016/12/26
Signature:
PHP 2015/01/23
// 最後に追加
$arr[] = $obj;
// または
array_push($arr, $obj);
どちらの方法も配列自身を変更する破壊的な方法である。
1つ目の方法はすでにある配列に対してだけでなく、まだ一度も現れていない未定義の変数に対してもいきなり使うことができて、要素が1つだけの配列になる。個人的には気持ち悪い仕様だ。さすがに配列以外の値がすでに代入されている変数に対して行うと、PHPのWarningが発生する。
array_push
関数 | PHP Manual
http://php.net/manual/ja/function.array-push.php
複数の要素を配列で指定してまとめて追加するには
array_merge
関数を使う。-> 配列を連結するには
Python 2015/01/23
# 最後に追加
lst.append(obj)
リスト自身を変更する破壊的なメソッドである。
複数の要素をリストで指定して最後にまとめて追加するには extend
が使える。これも破壊的なメソッドである。
lst.extend(lst2)
リストと違ってタプルはイミュータブルなので、これに相当するメソッドはない。
Ruby / JRuby 2015/01/23
# 最後に追加
arr.push(obj1)
配列自身を変更する破壊的なメソッドである。
配列自身を返す。
以下のように複数の要素を追加することもできる。
arr.push(obj1, obj2, obj3)
Array#<<
を使うこともできる。これも配列自身を変更する破壊的な方法。このメソッドは引数1つしか使えないが、配列自身を返すので、連続して書くことができる。
arr << obj1 << obj2 << obj3
配列同士を連結させるには、Array#concat
メソッドも使える。
arr1.concat(arr2)
これは破壊的メソッドである。これに対応する非破壊的メソッドは Array#+
。
arr1 + arr2
Perl 2015/01/23
# 最後に追加
push(@arr, $obj);
配列自身を変更する破壊的な関数である。
2つ目の引数に配列を渡すことができ、その場合はその配列の要素をすべて追加する。
例
push(@arr1, @arr2);
JavaScript 2015/01/23
# 最後に追加
arr.push(obj);
push
は複数の引数を渡すこともできる。
var arr1 = [1, 2, 3];
arr1.push(4, 5, 6);
console.log(arr1); // => [1, 2, 3, 4, 5, 6]
配列を連結して新しい配列を生成するには以下のようにする。
例
var arr1 = [1, 2, 3];
var arr2 = [1, 2, 3];
var new_arr = arr1.concat(arr2)
concat
は非破壊的なメソッドなので、arr1
や arr2
自身は変更されない。
関連 2016/12/26
に追加 | を取得して削除 | |
先頭 | unshift |
shift |
最後 | push |
pop |