【リニューアル記念】未経験からブロガーへのSTEPを続々更新!

プログラミングの配列は変数の集合体!添字や要素も一緒に覚えよう!

プログラミングの配列とは

変数を学んだあとは、「配列(はいれつ)」についても学習しておきましょう。

配列を使うことで、より複雑なデータを扱うことができるようになります。

仕事であっても趣味であっても、プログラミングをする上で配列の理解や操作を覚えることは必須です。

ここで配列についてしっかり理解し、いつでも扱えるよう準備しておきましょう。

配列とは

配列とは

配列とは、「たくさんのデータを格納するための箱」のことです。

配列は変数の集合体のように扱うことができます。

たくさんの箱が横にずらーっと並んでいる様子をイメージしてもらえるといいかもしれません。

配列を理解するために抑えておくポイントは「添字(そえじ)」と「要素」です。

難しそうに感じるのは名前だけなので、深く考え過ぎずにどんどん進みましょう!

配列の添字(インデックス)

配列は「箱が並んでいるイメージ」とお伝えしましたが、その箱1つ1つに好きな名前をつけることはできません。

そのかわり、「0」から始まる「添字(インデックス)」と呼ばれる番号が自動でつけられます。

この添字を使うことによって、箱の中の値を覗いたり、取り出したりすることができるようになるのです。

配列の要素

配列は、たくさんの箱を持っています。

そして、その箱1つ1つに値を格納することができます。

この格納されている値のことを「要素」と呼びます。

「箱の中に入っているものを要素と呼ぶんだな~」くらいの認識で大丈夫です。

配列の使い方

配列の宣言と初期化

配列の使い方もプログラミング言語によって少し違ってきます。

たとえばC言語の場合、配列を使うためには「宣言」が必要になります。

これは、あらかじめ「配列に格納できる要素数を決めておかなければいけない」というルールがC言語にはあるからです。

ただ、配列の宣言と同時に値を入れる「初期化」を利用することで、1行にまとめることもできます。

C言語
// 配列の宣言
int numbers[2];

// 配列の初期化
int numbers[2] = [10, 100];

// 配列の初期化
int numbers[] = [10, 100];

最初の例は、「要素を2つ持っているint型の配列」を宣言しています。

「型」「宣言」「初期化」について詳しく知りたい方は「プログラミングの変数とは?初心者にもわかりやすく解説!」もどうぞ。

2つ目の例は、要素数が「2」の配列を用意し、「10」と「100」の値をそれぞれの箱に格納しています。

この配列の中身は

添字が「0」で、要素は「10」

添字が「1」で、要素は「100」

になります。

添字は「0」から自動で番号がふられるため、こちらで指定する必要はありません。

3つ目は要素数を指定していませんが、2つ目とまったく同じ内容になります。

要素数を省略して初期化することで、格納している要素の数が自動的に要素数になるのです。

ここまで読んで、「何を言っているのかわからない…」という方も安心してください。

もっと簡単に配列を理解できるRuby言語の例も紹介しておきます。

Ruby言語
# 配列の初期化
numbers = [10, 100]

上を見てもらうとわかるとおり、Rubyでは型や配列の宣言がないため、変数に配列を代入するだけで簡単に使うことができます。

今回はあくまで配列の概要説明がメインなので、これ以降はC言語ではなく、シンプルでわかりやすいRuby言語を例に説明していきます。

キツネ

Rubyはやりたいことをシンプルに書けるところが素敵!

配列の格納と出力

配列に値を格納したり出力したい場合は、以下のように添字を使って操作します。

Ruby
# 配列を変数に代入
fruits = ['apple', 'orange']

# 「'apple'」を出力
fruits[0]

# 「'orange'」を出力
fruits[1]

# 「'melon'」を格納
fruits[1] = 'melon'

# 「'melon'」を出力
fruits[1]

二次元配列や多次元配列とは

二次元配列」とは、配列の中にさらに配列を入れたものを指します。

このように、配列を2つ以上入れた配列のことを「多次元配列」と呼びます。

これは見てもらったほうが早いですね。

Ruby
# 配列
fruits = ['apple', 'orange']
# 「'apple'」を出力
fruits[0]

# 二次元配列(多次元配列)
fruits = [
  ['apple', 100],
  ['orange', 200]
]
# 「['apple', 100]」を出力
fruits[0]
# 「'apple'」を出力
fruits[0][0]
# 「200」を出力
fruits[1][1]

# 多次元配列
fruits = [
  'empty',
  [
    ['apple', 100],
    ['orange', 200]
  ]
]
# 「'empty'」を出力
fruits[0]
# 「['orange', 200]」を出力
fruits[1][1]
# 「'orange'」を出力
fruits[1][1][0]

多次元配列は数が増えるほど、どんどん複雑になり読みづらくなります。

とりあえず、ここでは使い方を理解できれば十分です。

連想配列(ハッシュ)とは

連想配列(ハッシュ)とは

配列の他にも「連想配列(ハッシュ)」という、とっても便利な機能があります。

連想配列と配列の大きな違いは、「添字」ではなく「キー」を使うところです。

配列の場合、「0」や「1」などの添字が自動でふられますが、連想配列では「name」や「price」のような好きな文字列をキーに設定できるため、多次元配列のように複雑になっても読みやすいなどのメリットがあります。

ちなみにRubyの場合は、配列を代入する際の記号「[](ブラケット)」が、連想配列では「{}(ブレース)」に変わります。

言語によって配列と連想配列とで書き方が多少違いますが、ここではあまり重要ではないのでカットします。

では、果物の色や金額をまとめて扱いたいときの場合を見てみましょう。

Ruby
# 配列
apple = ['red', 100]
# 「'red'」を出力
apple[0]

# 連想配列(ハッシュ)
apple = {
  'color' => 'red',
  'price' => 100
}
# 「'red'」を出力
apple['color']

# 二次元配列
fruits = [
  ['red', 100],
  ['green', 200]
]
# 「'green'」を出力
fruits[1][0]

# 二次元連想配列
fruits = {
  'apple' => {
    'color' => 'red',
    'price' => 100
  },
  'melon' => {
    'color' => 'green',
    'price' => 200
  }
}
# 「'green'」を出力
fruits['melon']['color']

配列に比べ、連想配列には意味を持ったキーがついているため、何のデータが格納されているのかわかりやすいですよね。

果物名リストなどを作る場合は配列でも問題ないのですが、上のように果物の情報をまとめて持ちたい場合などは、連想配列のほうが圧倒的に見やすいのです。

まとめ

  • 配列は、たくさんのデータを格納する箱
  • 添字(インデックス)は、箱につけられた番号
  • 要素は、箱に格納されている値
  • 二次元配列や連想配列がある
  • 連想配列は添字のかわりにキーを使う
  • データ構造が複雑な場合は連想配列が見やすい

配列について、Rubyを例にざっくり説明しました。

配列の細かい使い方については、自分の覚えたい言語でしっかり学習するといいでしょう。

もし、あなたがどのプログラミング言語を始めようか迷っているのであれば、僕は迷わずRubyをオススメします。

詳しくは「プログラミング初心者こそRuby言語がおすすめ!楽しむことが重要!」を読んでみてください!

テキストのコピーはできません。