配列-Array-
2015年2月18日:Swift
プログラミングにおいて配列はよく使用する大切な要素です。Swiftでは配列をArrayというクラスで扱います。ここでは、配列の定義の仕方や、配列の編集方法について解説します。
配列の宣言
配列の宣言の仕方は簡単で
var 配列名=[要素1,要素2,…]
となります。例えば、
var a=[1,2]
とすれば2つの要素1と2を含む配列になります。配列の要素は自動で認識してくれますが、もしも配列の中身を規定したい場合は
var a:Array<Int>=[1,2]
もしくは
var a:[Int]=[1,2]
とします。Array<X>と[X]は同じ意味「X型の一次元配列」となります。
配列の要素数はcountメソッドで表示できます。
配列名.count
配列の要素数を表示する。
配列の編集
配列には要素の編集・読み取り・付け加え・削除など様々な操作が考えられます。Swiftで扱う配列はオブジェクトになっており、これらの操作をメソッドを使用して簡単に操作できます。以下に配列の操作方法を紹介します。
配列の読み取りと変更
配列の値を読み込んだり、変更するには
配列名[番号]
とします。ここで番号は0から始まります。例えば、以下のようにすると
var a=[1,2] a[0]=3 println(a[0])
次のように表示されます。
3
また、配列が空かどうかをチェックするには以下のメソッドを使用します。
Bool 配列名.isEmpty
配列名が空ならtrue、空でないならfalseを返す
以下が使用例です。
var a=[1,2] if a.isEmpty{ println("空") }else{ println("空でない") }
空でない
配列の追加と削除
配列に要素を追加したい場合はappendメソッドを使用します。
配列名.append(X)
配列の末尾に要素Xを追加する。以下の方法で代用可能。
配列名 += [X]
逆に末尾の要素を削除したい場合はremoveLastメソッドを使用します。
配列名.removeLast()
配列の末尾の要素を削除する。
以下に使用例を載せます。
var a=[1,2] a.append(3) a+=[4]
この場合、配列aは「1,2,3,4」となります。
配列の挿入と削除
末尾に付け加えるのではなく、要素を挿入したい場合はinsertメソッドを使用します。以下が構文です。
配列名.insert(X, atIndex:Y)
配列のY番目の要素にXを挿入する。
insertの逆で要素の削除をするメソッドとしてremoveAtIndexメソッドがあります。以下のとおりです。
配列名.remove(at: Y)
配列のY番目の要素を消去する。消去した値を返す。
以下にコード例を載せます。
var a=[1,1,3] //a=[1,1,3] a.insert(2,at: 1) //a=[1,2,1,3] a.remove(at: 2) //a=[1,2,3]
配列の走査
配列の中身をすべて走査したい場合がよくあります。その際にはfor文を使用すると簡単に実現できます。たとえば、以下のようにコーディングすると、配列のすべてを表示できます。
var a=[1,2,3] for i in a{ print(i) }
1
2
3
配列の初期宣言
初期の配列には様々な定義方法があります。例えば、空の配列の定義は
var 配列名=[データ型]()
var 配列名=Array<データ型>()
var 配列名:[データ型]=[]
となります。もしも、要素がすべて一定の配列を準備したい場合は以下の方法で定義します。
var 配列名=[データ型](repeating: Y, count: X)
var 配列名=Array<データ型>(repeating: Y, count: X)
ここで、Xは配列の大きさ、Yは初期値を表す。例えば、以下のようにして使用します。
var a=[Int](repeating: 0, count: 5)
この場合、配列aは(0,0,0,0,0)となります。配列の要素数がパソコンのメモリを超えるとどうなるかが気になるところです。実際に、やってみるとプログラムが止まるのではなくフリーズします。大きな配列を扱う際は注意が必要です。
著者:安井 真人(やすい まさと)
@yasui_masatoさんをフォロー