【Swift入門】配列の使い方まとめ(Array)

プログラミングにおいて、よく使用するデータ形式として配列(Array)があります。

この記事では配列(Array)について、

・配列の基本的な使い方
・配列の初期化方法

などの基本的な解説から、

・配列の要素の追加する方法(append)
・配列を結合、区切り文字で結合する方法(joined)
・配列をソートする方法(sorted)

などの応用的な使い方についても解説していきます。

ここでは、使用頻度が高い配列(Array)について詳しく解説していきます!

※この記事ではSwift3.1を使用しています。

目次

配列(Array)の使い方

配列(Array)とは、さまざまなアプリケーションでも使われる機会が多く、1つの変数に複数の値が格納されたデータ形式となります。

配列では整数から文字列、クラスなどのあらゆる種類のデータ形式を格納することが可能です。

配列を作成する方法は簡単で、以下のように,(コンマ)で区切ったリストを[](角括弧)で囲むだけで作成することができます。

書き方1(型指定なし):

let 配列名 = [値1, 値2, 値3, ……]

以下のように型を指定して配列を作成することもできます。

書き方2(型指定):

let 配列名: [Int] =  [値1, 値2, 値3, ……]

Swiftについては、初期値で型が推測されるので、通常は型を指定する必要はありません。

注意点:
変数と同様に変数(var)を指定すると要素の変更が可能で、定数(let)の場合は要素の変更はできません。
とくに値の変更が無い場合はletを使用したほうが安全です。

配列の作成

ここでは実際に配列の作成方法を見ていきましょう!

以下に整数値を格納した配列を作成するサンプルを紹介します。

サンプルプログラム1(整数の配列):

//配列定義(整数)
let numbers = [1, 2, 3, 4, 5, 10, 15]

print("\(numbers[0])")
print("\(numbers[5])")

配列は先述したように[](角括弧)を囲んだ中に,(コンマ)区切りでデータを格納します。

配列のデータは要素数0から順番に格納されていきます。

サンプルではprintで配列の要素数0と5を指定して出力しているので、結果は以下となります。

実行結果:

1
10

続けてString型の配列を作成するサンプルです。

サンプルプログラム2(文字列の配列):

//配列定義(文字列)
let fruits = ["りんご", "オレンジ", "メロン", "バナナ", "パイナップル"]

print("\(fruits[0])")
print("\(fruits[3])")

実行結果:

りんご
バナナ

また、以下のようにfor文で配列の値をまとめて取得することもできます。

サンプルプログラム3(for文で配列をまとめて取得):

//配列定義(整数)
let numbers = [1, 2, 3, 4, 5, 10, 15]

for value in numbers {
    print("\(value)")
}

実行結果:

1
2
3
4
5
10
15

for文などの繰り返し処理の使い方については、以下の記事で詳しく解説しています!

配列の初期化

以下のように配列の宣言時に型を指定して、空の配列を作成することができます。

空の配列は配列を使用することがわかっていて、あとから値を追加するときなどに定義します。

サンプルプログラム:

// String型の空の配列を作成
var arrayString: [String] = []

// Float型の空の配列を作成
var arrayFloats: Array<Float> = Array()

また、配列にデフォルトで指定要素分を固定値で初期化したい場合は、以下のように記述します。

書き方:

Array(repeating: 初期値, count: 要素数)

引数:
repeatingには初期値を指定し、countには要素数を指定します。

以下に要素数分固定値で初期化するサンプルを記述します。

サンプルプログラム:

//指定要素分固定値で初期化する
var arrayCounts = Array(repeating: 0, count: 5)
print(arrayCounts)

実行結果:

[0, 0, 0, 0, 0]

配列の要素の追加(append)

配列の要素を追加したい場合はappendメソッドを使用します。

appendメソッドは以下のように記述します。

書き方:

配列.append(値)

引数:
引数には追加する値を記述します。

サンプルプログラム1:

var fruits = 
["りんご", "オレンジ", "メロン", "バナナ", "パイナップル"]

//appendで要素を1つ追加
fruits.append("いちご");

for value in fruits {
    print("\(value)")
}

実行結果:

りんご
オレンジ
メロン
バナナ
パイナップル
いちご

また、以下のように+=演算子を使用して配列の要素を1つ追加することもできます。

サンプルプログラム2:

var fruits = 
["りんご", "オレンジ", "メロン", "バナナ", "パイナップル"]

//+=演算子で要素を1つ追加
fruits += ["いちご"]

for value in fruits {
    print("\(value)")
}

実行結果:

りんご
オレンジ
メロン
バナナ
パイナップル
いちご

配列に要素をまとめて追加するにはappendContentsOfメソッドを使用しますが、Swift3.x系では削除されました。

配列を結合する

配列を結合して文字列に変換する(joined)

配列を結合して文字列を作成するにはjoinedメソッドを使用します。

joinedメソッドは以下のように記述します。

書き方1(引数なし):

配列.joined()

引数を指定しない場合は、配列を文字列として結合します。

以下にjoinedメソッドを使用して配列を結合するサンプルを紹介します。

サンプルプログラム:

let fruits = 
["りんご", "オレンジ", "メロン", "バナナ", "パイナップル"]

//配列を結合する
let str:String = fruits.joined()

print(str)

実行結果:

りんごオレンジメロンバナナパイナップル

配列を特定の区切り文字で結合する(joined)

joinedメソッドを使用すれば、配列を特定の区切り文字で結合することもできます。

書き方2(引数あり):

配列.joind(separator: “区切り文字”)

引数:
引数のseparatorには/(スラッシュ)や,(コンマ)などの区切り文字を指定します。

以下にjoinメソッドを使用して区切り文字で結合するサンプルを紹介します。

サンプルプログラム:

let fruits = 
["りんご", "オレンジ", "メロン", "バナナ", "パイナップル"]

//配列を区切り文字で結合する
let str:String = fruits.joined(separator: ",")

print(str)

実行結果:

りんご,オレンジ,メロン,バナナ,パイナップル

このように配列をコンマ区切りで結合すれば、コンマ区切りのデータ形式であるCSVファイルなどを作成するときにも便利です。

配列のソート(sorted)

配列をソートするにはsortedを使用します。

sortedは以下のように記述します。

書き方(昇順):

配列.sorted {$0 < $1}

書き方(降順):

配列.sorted {$0 > $1}

以下にsortedを使用して、配列をソートするサンプルを紹介します。

サンプルプログラム1(昇順):

//整数の昇順ソート
let intArray = [5, 3, 4, 1, 2]

let sortedInt = intArray.sorted { $0 < $1 }
print(sortedInt) 

//文字列の昇順ソート
let strArray =
["item-b", "item-c", "item-a", "item-e", "item-d",]
let sortedStr = strArray.sorted { $0 < $1 }
print(sortedStr) 

実行結果:

[1, 2, 3, 4, 5]
["item-a", "item-b", "item-c", "item-d", "item-e"]

サンプルプログラム2(降順):

//整数の降順ソート
let intArray = [5, 3, 4, 1, 2]

let sortedInt = intArray.sorted { $0 > $1 }
print(sortedInt) 

//文字列の降順ソート
let strArray =
["item-b", "item-c", "item-a", "item-e", "item-d",]
let sortedStr = strArray.sorted { $0 > $1 }
print(sortedStr)

実行結果:

[5, 4, 3, 2, 1]
["item-e", "item-d", "item-c", "item-b", "item-a"]

まとめ

ここでは配列(Array)について、

・配列の基本的な使い方
・配列の初期化方法
・配列の要素の追加する方法(append)
・配列を結合、区切り文字で結合する方法(joined)
・配列をソートする方法(sorted)

などについて解説しました。

配列(Array)は、プログラミングの処理の中でも使用頻度が高いデータ形式ですので、使い方はしっかりと覚えておきましょう!

もし、配列(Array)の使い方を忘れてしまったら、この記事を思い出してくださいね!

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次