配列 / リスト
Array / List
概要(サマリー)
複数のデータを順番つきでまとめて管理するための入れ物のこと。
たとえば「りんご」「みかん」「ぶどう」という複数の値を、1つずつ別の変数に分けるのではなく、ひとまとめで扱えるようにする仕組みである。
「買い物リスト」や「出席番号つきの名簿」のように、並んだデータを順番で管理するイメージを持つとわかりやすい。
AIを使ったアプリやWeb開発でも、取得した複数のデータを一覧表示したり、順番に処理したりするときに、配列やリストは非常によく使われる。
詳細解説
配列(Array)やリスト(List)とは、複数の値をまとめて入れておけるデータ構造のことである。
1つの変数が「1個の値を入れる箱」だとすれば、配列やリストは複数の値を順番に並べて入れておける箱の集まりのようなものだと考えるとわかりやすい。
たとえば、果物の名前を3つ管理したいとする。
- りんご
- みかん
- ぶどう
これを1つずつ別々の変数に入れることもできるが、数が増えると管理が大変になる。
そこで、まとめて1つのグループとして扱えるようにしたものが、配列やリストである。
なぜ必要なのか
もし複数の値を毎回バラバラの変数で管理すると、
- 数が増えると整理しづらい
- 順番に処理しにくい
- まとめて表示しにくい
- 繰り返し処理との相性が悪い
といった問題が起きやすい。
たとえば、商品一覧、ユーザー一覧、チャット履歴、検索結果、AIの返答候補など、実際のアプリでは「複数のデータをまとめて扱いたい」場面が非常に多い。
そうしたときに、配列やリストが使われる。
どんなイメージで考えればよいか
初心者向けには、次のようなイメージがわかりやすい。
ロッカーのようなイメージ
箱が横一列に並んでいて、それぞれに順番が付いている。
中にはデータが1つずつ入っている。
買い物リストのようなイメージ
1番目、2番目、3番目…と順番に項目が並んでいる。
あとで順番に見たり、追加したり、削除したりできる。
出席番号つきの名簿のようなイメージ
「何番目に何が入っているか」で取り出せる。
この「何番目」が重要な考え方である。
順番で管理する仕組み
配列やリストでは、入っている値を位置(順番)で管理することが多い。
この位置の番号は、プログラミングでは インデックス と呼ばれる。
たとえば、3つの果物が入っているとする。
const fruits = ["りんご", "みかん", "ぶどう"];
JavaScriptでは、最初の番号が 1 ではなく 0 から始まる。
多くのプログラミング言語でも、同じ考え方が使われる。
- 0番目 → りんご
- 1番目 → みかん
- 2番目 → ぶどう
この「0から始まる」という点は、初心者が最初につまずきやすいポイントである。
配列とリストは同じもの?
初心者向けの説明では、「配列」と「リスト」をかなり近い意味で使うことが多い。
どちらも複数のデータをまとめる仕組みだからである。
ただし、厳密には言語によって違いがある。
- 配列(Array)
言語によっては、固定長や連続したメモリ領域を意識した仕組みとして扱われることがある。
ただし、JavaScript のArrayのように、あとから値を追加・削除しやすい配列もある。 - リスト(List)
より柔軟に追加・削除しやすい仕組みとして扱われることがある。
とはいえ、初心者の段階ではまず
「複数の値を順番つきでまとめる入れ物」
として理解すれば十分である。
配列 / リストでよくすること
配列やリストでは、次のような操作がよく行われる。
1. 値をまとめて入れる
複数のデータを1つにまとめる。
2. 特定の順番の値を取り出す
「2番目のデータを使いたい」などのときに取り出す。
3. 繰り返し処理をする
一覧のすべてを順番に表示したり、同じ処理を1個ずつ実行したりする。
const fruits = ["りんご", "みかん", "ぶどう"];
fruits.forEach((fruit) => {
console.log(fruit);
});
4. 値を追加する
末尾に新しいデータを足す。
5. 値を削除する
不要なデータを消す。
6. 並び順を変える
昇順・降順・新着順などに並べ替える。
実際によくある使用例
配列やリストは、アプリやWeb制作のさまざまな場面で使われる。
商品一覧
ECサイトで複数の商品を並べるとき。
お問い合わせ一覧
管理画面で複数の問い合わせを表示するとき。
画像一覧
ギャラリーやスライドショーで複数画像を扱うとき。
APIの取得結果
外部サービスから返ってきた複数データを画面に並べるとき。
AIの候補表示
AIが返した複数の候補文や検索結果を順番に扱うとき。
つまり、一覧表示・複数処理・繰り返し表示の裏側では、かなり高い確率で配列やリストが使われている。
繰り返し処理との相性がよい
配列やリストが重要なのは、ループ処理と相性がとてもよいからでもある。
たとえば、商品が100件あるときに、
- 1件目を表示
- 2件目を表示
- 3件目を表示
- …
- 100件目を表示
を1つずつ手で書くのは現実的ではない。
そこで、配列やリストに入っているデータを順番に取り出しながら、同じ処理を繰り返す。
これにより、少ないコードで大量のデータを扱えるようになる。
オブジェクトとの違い
初心者がよく混同するのが、配列 / リストとオブジェクトの違いである。
配列 / リスト
順番で管理する。
「何番目か」で取り出す考え方。
オブジェクト
名前で管理する。
「title」「price」などのキーで取り出す考え方。
たとえば、商品名だけを複数並べるなら配列が向いている。
一方で、1つの商品について「名前」「価格」「画像URL」などをまとめたいなら、オブジェクトが向いている。
実際の開発では、
- オブジェクトを複数並べた配列
- 配列を含んだオブジェクト
のように、組み合わせて使うことが多い。
配列 / リストの注意点
便利な仕組みだが、初心者がつまずきやすい点もある。
1. 番号が0から始まることが多い
最初の要素が1番目ではなく0番目であることに戸惑いやすい。
2. 順番が重要
途中で追加・削除すると、後ろの位置がずれることがある。
3. 中身の構造を意識して管理する必要がある
データ量が増えたり、複雑なデータを入れたりすると、中身の構造を意識して管理する必要がある。
4. 似た概念が言語ごとに少し違う
JavaScript、Python、PHP などで書き方や厳密な意味が少し異なることがある。
AI時代に配列 / リストが重要な理由
AIを使った開発でも、配列やリストは非常によく登場する。
たとえば、
- 複数の回答候補
- 検索結果一覧
- 会話履歴
- APIレスポンスの一覧データ
- 画像URLの集まり
などを扱うときに使われる。
そのため、AIが生成したコードに配列やリストが出てきたとき、
「複数データをまとめているんだな」
と理解できるだけでも、コードの読みやすさがかなり変わる。
より詳しくAIに聞いてみよう
- 配列とリストとは何かを、中学生でもわかるように説明してください。
- 配列の番号が0から始まる理由を、初心者向けに説明してください。
- 配列とオブジェクトの違いを、具体例つきで教えてください。
- JavaScript と Python で配列 / リストがどう違うかを、やさしく説明してください。
- APIで取得した複数データを配列として扱う例を見せてください。