コレクション型とfor in文

コレクション型

範囲演算子とfor in文

範囲演算子
  • a…b(bを含む)
  • a..<b(bを含まない)

1..5の場合は{1,2,3,4,5}と5を含む数字ですが、

1..<5の場合は{1,2,3,4}と5は含みません。

for i in 1...5{
    print(i)
}
  • 範囲演算子で1から5までを指定します。
  • print(i)すると1から5までが表示されます。
for i in 1..<5{
    print(i)
}
  • 範囲演算子1..<5は1から5未満までの指定になります。
  • print(i)すると1から4までが表示されます。

コレクション型とfor in文

for 定数名 in コレクション型{
    処理
}
注目

for in文はコレクション型と組み合わせて使うことができます。

コレクション型の要素が定数名に前から順番に代入されていきます。

配列とfor in文

for 定数名 in 配列{
    処理
}
let arr = [10,20,30,40,50]
for num in arr{
    print(num)
}
  • 1行目で配列を宣言しました。
  • for num in arrで前から順番に[]内の要素がnumに代入されていきます。
  • print(num)で10、20、30、40、50が表示されます。

配列をインデックス番号と一緒に取り出したい場合

enumeratedメソッドを使用すると配列をインデックス番号と一緒に取り出すことができます。forの後に(インデックス番号,要素の値)のタプル型が入ります。

for (インデックス番号,要素の値) in 配列型.enumerated(){
    処理
}
let arr = [10,20,30,40,50]
for (index,num) in arr.enumerated() {
    print(index,num)
}
  • 配列型を宣言します。
  • enumeratedメソッドを使用します。
  • 配列のインデックス番号と配列が出力されます。

enumeratedメソッドはforの後の(インデックス,要素)のタプル型を渡して、定数をひとつにすることもできます。アクセスするときはタプル型のため(タプル名.インデックス番号)となります。

let arr = [10,20,30,40,50]
for tup in arr.enumerated() {
    print(tup.0,tup.1)
}

辞書とfor in文

for (キー,値) in  辞書{
     処理
}
let f = ["apple":1,"banana":3,"orange":20]
for (key,value) in f{
    print(key,value)
}
  • 1行目で辞書型を宣言します。
  • for (key,value) in fでfの要素が(key,value)に代入されます。
  • print(key,value)で [“apple”:1,”banana”:3,”orange”:20]のデータが表示されます。
  • 順番は毎回異なります。

集合とfor in文

for 定数名 in 集合{
    処理
}
let numSet:Set = [0,1,2,3]
for i in numSet{
    print(i)
}
  • 1行目で集合型を宣言します。
  • for i in numSetで集合の[]がiに代入されます。
  • print(i)で [0,1,2,3]が表示されます。
  • 順番は毎回異なります。