配列と聞くと、数学で出てくる難しいイメージを持たれる人が多いかもしれません。しかし、プログラミングの配列は難しい代物ではありません。簡単な例を交えて、解説していきます。
配列とは
配列は例えるなら棚のようなものです。変数は1つの値だけ格納できますが、配列はいくつもの値を格納できます。
配列を使うことで、複数の値を1つの変数にまとめることができます。
配列は変数の集まりのようなものです。変数についてはこちらの記事で解説しています!
配列を使うメリット
配列には以下のメリットがあります。
複数の値の一括管理
例えば10人分の名前を保存したいとき、配列ではない変数の場合は10個必要になります。これでは管理が難しいです。
配列は1つの変数にいくつもデータを連続して格納できるため、追加や管理が簡単に行えます。
繰り返し処理
例えば30回データ出力したいとき、出力の関数を30行書いて実行するのは手間ですし、手直しが大変です。配列に備えつけられた関数や、for文を使うことで、出力の関数を1行に縮めることができます。
配列の定義
今回の例では、名字のリストをnameList配列に落とし込んでいきます。
nameList = ['田中', '佐藤', '鈴木']
「”」で囲われている部分は文字列を表しています。
上の図では、nameList配列に ‘田中’と’佐藤’と’鈴木’の文字列が格納しています。
要素へのアクセス
配列の要素にアクセスするには、インデックスという数字を使います。
インデックスは0,1,2…と続いていきます。(1からではないので注意!)
先の例で定義したnameListにアクセスするには、以下のようにします。
- nameList[0] ➞ ‘田中’を取得
- nameList[1] ➞ ‘佐藤’を取得
- nameList[2] ➞ ‘鈴木’を取得
要素の変更
配列の要素を変更するには、インデックスを指定して値を代入します。
nameList[0] = '渡辺'
nameList[1] = '谷'
要素の追加
要素を追加する方法はプログラム言語によって違います。
JavaScriptではpushメソッド、Pythonではappendメソッドといったように、言語ごとに要素の追加手段が用意されています。
繰り返し処理
配列の各要素を繰り返し処理するには、forループを使います。
ここではPythonを例に解説します。
まず、簡単な配列を作成します。この配列には、いくつかの整数が含まれています。
numbers = [1, 2, 3, 4, 5]
次に、この配列の要素をfor文を使って順番に表示してみましょう。
for number in numbers:
print(number)
- for number in numbers:
- これはfor文の開始部分です。「numbers」という配列の各要素を順番に「number」という変数に代入していきます。
- print(number)
- forループの内部で、現在の「number」を表示します。インデント(空白またはスペース)でforループの中身であることを示しています。
このコードを実行すると、次のように表示されます。
1
2
3
4
5
for文についてはこちらの記事で詳しく解説しています!
各プログラミング言語での記述例
JavaScript
JavaScriptの配列は変数と同じように、変数名の前に宣言キーワードを記述します。
// 定義
let nameList = ['田中','佐藤','鈴木'];
// 変更
nameList[0] = '田邊';
// 追加
nameList.push('伊藤');
Python
Pythonは型の宣言が不要なため、記述はシンプルです。
# 定義
nameList = ['田中','佐藤','鈴木']
#変更
nameList[0] = '田邊';
#追加
nameList.append('伊藤')
PHP
PHPでは、シンプルに記述できます。
// 定義
$nameList = ['田中','佐藤','鈴木'];
// 変更
$nameList[0] = '田邊';
// 追加
$nameList[] = '伊藤';
PHPはスタンダードな配列に加えて、連想配列という辞書型のデータ構造があります。
$dictionary = ['tanaka' => '田中', 'suzuki' => '鈴木'];
配列と記述方法が似ているため混同しそうになりますが、全く違うデータ構造なので注意が必要です。
Java
Javaでは配列に格納する値の型を指定する必要があります。指定する型は、組み込みクラスに対応するラッパークラスという型を使います。また、配列を定義する際はArrayListという型を使います。複雑なので詳しくはここでは割愛します。
List<String> nameList = new ArrayList<>(Arrays.asList("田中", "鈴木", "佐藤"));
まとめ
配列は、同じ種類のデータをまとめて管理して、効率的にアクセス・操作できる便利なデータ構造です。配列の知識はプログラミングで必要不可欠なので、これを期に是非覚えてみてください!
コメント