Mac業界の最新動向はもちろん、読者の皆様にいち早くお伝えしたい重要な情報、
日々の取材活動や編集作業を通して感じた雑感などを読みやすいスタイルで提供します。

Mac Fan メールマガジン

掲載日:

配列と辞書の基本を押さえておこう

著者: 吉田雷

配列と辞書の基本を押さえておこう

1-1 「配列」を作ってみよう

●配列にできるのは同じ型の値のみ

基本的に、配列に含められる値は同じ種類の型になります。複数種類の型が使いたいときは配列名に続いて「: Any」を書きますが、配列に含める値は「同じ種類の内容」が基本。型が異なる内容を含めることは、プログラムミスを招く危険があります。

●配列を使わないと…

同じ種類の値、たとえば名前の一覧などは、1つの配列を使って値を管理するとよいでしょう。なお、行の先頭に「//」と書くと、以降の文字が「コメント」になり、メモとして使えます。

 

1-2 「配列」から値を取り出そう

●番号を指定して値を取り出す

配列の中の値を取り出すときは、番号を使って指定します。配列「棚」の2つ目の値を取り出したい場合は、「棚[1]」と書きましょう。この「棚[1]」は、これまで解説した変数と同じように扱えます。つまり、再度代入することはもちろん、整数型であれば計算なども可能です。

●もっと高度な使い方も

配列に値を追加するときは、「配列名.append(追加する値)」と書き、追加した値は配列の最後に追加されます。なお、配列を変数「var」で宣言せず、定数「let」で宣言した場合はエラーになります。ただ、少し高度なので、頭の片隅に記憶しておく程度でよいでしょう。

「添字」に注意しよう

配列から値を取り出すときは、配列名に続けて「[](角括弧、またはスクエアブラケット)」で囲んだ中に数字を書きます。この数字を「添字(そえじ)」といい、配列に入っている値の順番を表しています。

添字は「0」から始まることに注意が必要です。たとえば、10個の値が入った配列の添字は、[0]~[9]となります。配列の中の値を書き換えるようなときにも添字を使って再代入するため、書き換えたくなかった値を指定しないよう、添字が「0」から始まることをしっかり覚えましょう。なお、添字は配列に入っている値の数を超えられません。10個の値が入った配列に対して、11番目を表す添字「[10]」を指定すると、エラーになるのです。

 

2-1 「辞書」を作ってみよう

●キーワードで値を取り出す

辞書は配列とは異なり、添字の代わりにキーワードを付けることが可能です。辞書「成績表」に、キーワード「ツバ太郎」と値「480」のようなキーと値のペアを3つ入れています。

●同じ型のキーを入れよう

配列に入れる値はすべて同じ型である必要がありましたが、辞書にも同じ条件があります。キーと値が同じ型である必要があるのです。キーには「ツバ太郎」などの「文字列型(String型)」を、値には「整数型(Int型)」を指定しましたが、キーを1つ整数型に変えるとエラーになります。

配列と辞書の使い分け

配列では添字を使って値を取得しましたが、辞書ではキーを使って値を取得します。配列と辞書の簡単な使い分けのポイントは、「順番が重要」なものを配列に、「名前と値が紐付いているもの」を辞書にするといいでしょう。

たとえば、都道府県などの場合は、「都道府県名を値」にした配列を作るとよいでしょう。また、成績表などで「名前と点数」のように2つの値を組み合わせたほうが意味がわかりやすい場合には、キーに名前や出席番号を付けた辞書を作ると、プログラムがわかりやすくなります。なお、Swiftの辞書に相当する機能を、ほかのプログラミング言語では「連想配列」や「ハッシュ」などと呼ぶこともあります。一緒に覚えておくとよいかもしれません。

 

2-2 「辞書」から値を取り出そう

●キーを使って取り出す

辞書から値を取り出すときは、「辞書名[キー]」のように書きます。「Optional」は取り出したい値が入っていない場合を考慮して付けられています。なお、黄色い注意はキーが文字列型のときに表示されます。これを削除するためには、「辞書名[キー]!]のように最後に「!」を付けましょう。

●キーを値ごと削除

少し高度ですが、辞書を変数として宣言していれば、キーごと値を削除できます。削除を行うときは「配列名.removeValue(forKey:キー)」と書くと、キーとそれに対応する値が削除されます。

キーなら中身を想像しやすい

辞書では配列と異なり、キーによって値を取り出せます。添字では「配列内に格納されている値の順番」でしか想像できませんが、辞書であれば、キーとなる文字列などによって中身が想像できるのです。たとえば、配列「やさい」の3番目の値は何か、というプログラムよりも、辞書「やさい」のキー「オレンジ」を指定するほうが、「にんじん」を取り出しやすいですよね。プログラムの基本はわかりやすく書くことにあります。辞書と配列を的確に使い分け、丁寧に書けば、書きたいプログラムを早く書くことができるのです。