Array

Array要素いろいろ
Arrayのつくりかたいろいろ

Array要素いろいろ

「.count」をつけると要素数が分かる。

var shoppingList = ["Eggs","Milk"]
//The shopping list contains 2 items.
println("The shopping list contains \(shoppingList.count) items.")

.isEmptyとかいうのはif文のとこで取り上げようっと。

要素を追加したい場合はこんな感じ。

shoppingList.append("Flour")	//要素3つになった
shoppingList += "Baking Powder"	//要素4つになった
shoppingList += ["Chocolate Spread", "Cheese", "Butter"]	//要素7つになった

配列の要素を取り出したいときは添え字の数字を[]でくっつける。先頭はやっぱり0。

var firstItem = shoppingList[0]	//Eggs
shoppingList[0] = "Six eggs"	//Eggs→Six eggs

複数の要素の値をいっぺんに書き換えることも可能。例のように左と右で要素数が異なるようなやり方でもOK(この場合全体の要素数が変わる)。

shoppingList[4...6] = ["Bananas", "Apples"]
/*
書き換え前:Six eggs, Milk, Flour, Baking Powder, 【Chocolate Spread, Cheese, Butter】
計7個の要素
書き換え後:Six eggs, Milk, Flour, Baking Powder, 【Bananas, Apples】
計6個の要素
*/

んと、これは配列の最後に要素を新しくくっつける目的では使うなって書いてある。(要素よりもでかい数字を指定してランタイムエラー起こすから)

配列の途中に新しく要素を差し込む場合は次の通り。insert(atIndex:)ってやつを使う。

shoppingList.insert("Maple Syrup", atIndex: 0)
//挿入後:Maple Syrup, Six eggs, Milk, Flour, Baking Powder, Bananas, Apples
//計7個の要素

上の例でいうと、め~ぷるしろっぷが新しく0番目に来て、結果的に全部で7要素ある配列になった。

逆に配列から特定の要素を消し去りたい場合はremoveAtIndexを使う。この時、ついでに消し去ったところの要素の値を取り出すことも可能。最後を取り出したいならremoveLastで。

let mapleSyrup = shoppingList.removeAtIndex(0)	//Maple SyrupがmapleSyrupに入る
firstItem = shoppingList[0]	//め~ぷるがいなくなったので配列の先頭はSix eggsに戻る

let apples = shoppingList.removeLast()	//Applesがapplesに入る
//削除後:Six eggs, Milk, Flour, Baking Powder, Bananas
//計5個の要素

Arrayのつくりかたいろいろ

おさらいとしてInt型空配列を作ってみる。作った直後は要素数は0である。

var someInts = Int[]()
//someInts is of type Int[] with 0 items.
println("someInts is of the type Int[] with \(someInts.count) items.")

someInts.append(3)	//appendで要素を追加
someInts = []	//空配列化

someIntsがInt型配列だということはわかっているので、空配列にする際は型を明示せず[]のみでOK。空配列になってもsomeIntsはInt型配列のままである。

こんな配列のつくりかたも。

var threeDoubles = Double[](count: 3, repeatedValue: 0.0)
//Double型配列、中身は[0.0, 0.0, 0.0]

var anotherThreeDoubles = Array(count: 3, repeatedValue: 2.5)
//Double型配列と解釈、中身は[2.5, 2.5, 2.5]

countに繰り返し回数、repeatedValueに繰り返したい内容を渡すとその分だけ同じ要素が出来上がるというもの。また、型が明らかなのでanotherThreeDoublesでは型を明示していない。
配列を合体させる場合は+で。

var sixDoubles = threeDoubles + anotherThreeDoubles
//[0.0, 0.0, 0.0, 2.5, 2.5, 2.5]になる。Double型と解釈。

↑ PAGE TOP