こんにちは!株式会社メモリアインクのふくしまです!
この記事ではSwiftにおける配列の基本から始め、値の追加や削除までの操作を徹底的に解説します。
この記事を読んで分かること…
・Swiftにおける配列の基本的な使い方
・配列への値の追加方法
・配列からの値の削除方法
・配列の値をソートする方法
Swiftにおける配列の基本
配列(Array)は、同じタイプの複数の値を順序付けて格納するためのデータ構造です。
サンプルコード
// 配列の宣言と初期化
var fruits: [String] = ["Apple", "Banana", "Cherry"]
// 配列の要素にアクセス
print(fruits[0]) // Apple
// 配列の要素数を取得
print(fruits.count) // 3
// 空の配列かどうかを確認
print(fruits.isEmpty) // false
サンプルコードの説明
◾️行2: 文字列の配列fruits
を宣言し、初期値として3つのフルーツを格納しています。
◾️行4: 配列fruits
の最初の要素(”Apple”)にアクセスしています。
配列の要素は左から0, 1, 2, 3,…とアクセスすることができます。
・fruits[0]=”Apple”
・fruits[1]=”Banana”
・fruits[2]=”Cherry”
◾️行6: 配列fruits
に格納されている要素の数(3)を取得しています。.count
は、Swiftの配列で使用されるプロパティの一つで、配列に含まれる要素の数(つまり、配列の長さ)を表します。このプロパティを使用することで、配列内に現在格納されている要素の総数を整数値として取得することができます。
◾️行8: 配列fruits
が空ではない(false
)ことを確認しています。.isEmpty
は、Swiftの配列や他のコレクション型(例えば、String
、Dictionary
、Set
など)で使用できるプロパティで、コレクションが空(つまり、要素を一つも含まない)かどうかを判断するために使用されます。このプロパティはBool
型の値を返し、コレクションが空の場合はtrue
を、一つ以上の要素が含まれている場合はfalse
を返します。
配列への要素の追加
ここでは配列に新しい要素を追加するいくつかの方法を解説します。
サンプルコード
// 配列に要素を追加
fruits.append("Dragonfruit")
// 別の配列の要素を追加
fruits += ["Mango", "Pineapple"]
// 特定の位置に要素を挿入
fruits.insert("Orange", at: 1)
サンプルコードの説明
◾️行2: 配列fruits
の末尾に新しい要素”Dragonfruit”を追加しています。.append
メソッドはSwiftの配列における基本的な操作の一つで、配列の末尾に新しい要素を追加します。このメソッドは、配列が格納している要素の型と同じ型の値を引数として受け取り、その値を配列の最後に追加するために使用されます。
◾️行4: 配列fruits
に別の配列[“Mango”, “Pineapple”]の要素を追加しています。
Swiftにおける+=
演算子は、配列の末尾に一つ以上の新しい要素を追加するために使用されます。具体的には、左側の配列に右側にある一つまたは複数の要素を追加します。この演算子は、主に配列同士を結合する際に便利です。
◾️行6: 配列fruits
のインデックス1の位置に”Orange”を挿入しています。.insert
メソッドはSwiftの配列において、指定されたインデックスの位置に新しい要素を挿入するために使用されます。このメソッドを使うことで、配列の特定の位置に直接要素を追加することが可能になり、配列の順序を自由に制御できます。
配列の要素の削除
配列から要素を削除する方法には、特定のインデックスの要素を削除する方法や、すべての要素を削除する方法があります。
サンプルコード
// 特定のインデックスの要素を削除
fruits.remove(at: 0)
// 配列のすべての要素を削除
fruits.removeAll()
サンプルコードの説明
◾️行2: 配列fruits
から最初の要素を削除しています。.remove(at:)
メソッドは、指定されたインデックスにある要素を配列から削除し、削除された要素を返します。
◾️行4: 配列fruits
からすべての要素を削除しています。.removeAll()
メソッドは、配列のすべての要素を削除します。このメソッドは何も返しません。
配列の要素のソート
Swiftで配列をソートする方法は主に2つあります。1つは配列自身を直接変更するsort()
メソッド、もう1つは配列のソートされたコピーを生成するsorted()
メソッドです。これらのメソッドは、デフォルトで昇順に要素をソートしますが、カスタムの比較ロジックを提供することも可能です。
sort()
sort()
メソッドは、配列自体を変更してその要素をソートします。これは”in-place”ソートとも呼ばれ、元の配列の内容が変更されます。
サンプルコード
var numbers = [3, 1, 4, 1, 5, 9, 2]
numbers.sort()
print(numbers) // 出力: [1, 1, 2, 3, 4, 5, 9]
numbers.sort(by: >)
print(numbers) // 出力: [9, 5, 4, 3, 2, 1, 1]
サンプルコードの説明
◾️行2: .sort()
メソッドを使用して、numbers
配列の要素を昇順(小さいものから大きいものへ)にソートします。
◾️行5: .sort(by:)
メソッドを使用して、numbers
配列を今度は降順(大きいものから小さいものへ)にソートします。ここで>
演算子が比較関数として使われており、配列の要素を降順に並べ替えるための条件を提供しています。
sorted()
sorted()
メソッドは、元の配列はそのままに、ソートされた新しい配列を返します。これは非破壊的な操作で、元の配列には影響を与えません。
サンプルコード
let numbers = [3, 1, 4, 1, 5, 9, 2]
let sortedNumbers = numbers.sorted()
print(sortedNumbers) // 出力: [1, 1, 2, 3, 4, 5, 9]
let descendingNumbers = numbers.sorted(by: >)
print(descendingNumbers) // 出力: [9, 5, 4, 3, 2, 1, 1]
サンプルコードの説明
◾️行2: .sorted()
メソッドを使用して、numbers
配列の要素を昇順にソートした新しい配列を生成しています。sortedNumbers
はこの新しいソートされた配列を保持します。.sorted()
メソッドは元の配列numbers
には影響を与えません。
◾️行5: .sorted(by:)
メソッドを使用して、numbers
配列の要素を降順にソートした新しい配列を生成しています。ここで>
演算子は、要素を比較して大きいものから小さいものへ順に並べるための条件を提供しています。descendingNumbers
はこの新しいソートされた配列を保持します。
まとめ
いかがでしたか?
この記事では、、配列の基本的な使い方から、値の追加、削除、ソートについて詳しく解説しました。
この記事が皆様のお役に立てれば光栄です。それではまた、次の記事でお会いしましょう〜
この記事があなたのスキルアップに役立ったなら、次のキャリアステップを踏み出す絶好の機会かもしれません。エンジニアとしてのさらなる成長と挑戦を求めるなら、
未経験からIT・Webエンジニアを目指すなら【ユニゾンキャリア】
コメント
コメント一覧 (1件)
[…] […]