simanのブログ

ゆるふわプログラマー。競技プログラミングやってます。Ruby好き

Rubyで配列の挿入

Rubyの配列挿入には色々種類があるので、必要に応じて使い分けましょう。

push

pushメソッドを使用すると配列の末尾に要素の追加を行います。

array = [1,2,3]

p array

array.push(4) #=> [1,2,3,4]
array.push(5) #=> [1,2,3,4,5]

p array
[1, 2, 3]
[1, 2, 3, 4, 5]

pushメソッドは複数の引数を取れるので、まとめて挿入したい場合などに便利です。

array = [1,2,3]

p array

array.push(4,5,6) #=> [1,2,3,4,5,6]

p array
[1, 2, 3]
[1, 2, 3, 4, 5, 6]


<<

<<のあとに要素を記述することで、配列の末尾に追加することができます。シンプルで記述しやすいのがポイントです。

array = [1,2,3]

p array

array << 4 #=> [1,2,3,4]
array << 5 #=> [1,3,3,4,5]

p array
[1, 2, 3]
[1, 2, 3, 4, 5]

個人的によく使用します。


unshift

unshiftメソッドは配列の先頭に追加を行います。

array = [1,2,3]

p array

array.unshift(4) #=> [4,1,2,3]
array.unshift(5) #=> [5,4,1,2,3]

p array
[1, 2, 3]
[5, 4, 1, 2, 3]

unshiftメソッドも複数の引数をとることができます。

array = [1,2,3]

p array

array.unshift(4,5) #=> [4,5,1,2,3]

p array
[1, 2, 3]
[4, 5, 1, 2, 3]



insertメソッド

insertメソッドでは自由な場所に要素を挿入することができます。

array = [3,4,5]

p array

array.insert(0,1)
array.insert(4,2)

p array
[3, 4, 5]
[1, 3, 4, 5, 2]

第1引数で挿入する位置、第二引数で挿入する要素を指定します。第二引数には複数の要素の指定も可能です。

array = [3,4,5]

p array

array.insert(1,100,200,300) #=> [3,100,200,300,4,5]

p array
[3, 4, 5]
[3, 100, 200, 300, 4, 5]

色々な追加方法があるので、自分が好きな方法を選んで下さい(自分は<<です。)