配列・タプル・多次元配列・集合・辞書



配列・タプル

配列とタプルの違いは、次の通り。

【配列】要素の型は統一であり、追加や削除が行える。

【タプル】要素の型は非統一であり、追加や削除は行えない。型は宣言した時点で固定。

【配列】【タプル】共通として共に順番が保障される


// 配列...
var ary = [Int]()
ary.append(30)
ary.append(10)
print(ary[0])       //------------ 30
print(ary.count)    //------------ 2
print(ary.IsEmpty)  //------------ false

for a in ary {
    print(a)
}

//タプル
var imtes = (product: "apple", amount:5)
print(items.product)
items.amount = 10    
            

タプルは型の異なるデータをやり取りできるので、関数間での引数としたら便利か


多次元配列

プログラムを記載すると多次元配列は必須。その基本は次の通り。


func getAry(_ val : String) -> [String] {
    var res:[String] = []
    res.append(val+"1")
    res.append(val+"2")
    res.append(val+"3")
    return res
}

var test = [[String]]()
test.append(getAry("0_"))
test.append(getAry("1_"))
test.append(getAry("2_"))

print(test)
//"[["0_1", "0_2", "0_3"], ["1_1", "1_2", "1_3"], ["2_1", "2_2", "2_3"]]\n"    
            

集合

集合は文字通り、宣言した型の集まりで配列と異なり重複した値を取らないことに加え、データの順は保障されない。

ただ和集合や、差集合などが扱える。扱える内容は公式マニュアルの図が分かり易い。


// 集合...
let a : Set = [1,3,5,8]
let b : Set = [3,5,8,9]
print(a.union(b))           //-------5,9,3,1,8  順番は保障されない
print(a.intersection(b))    //-------5,3,8
print(a.subtractiong(b))    //-------1    
            

辞書

キーと値で管理


// 辞書...
var menber = ["taka":30, "mori":100]
menber["mori"] = 10
print(menber["taka"] ?? "n.a.")
menber["negi"] = 15
for (key, value) in menber {
    print("\(key): \(value)")
}    
            

※ \はバックスラッシュ