文書   >   Foundation   >   Collections   >   Set   >   enumerated()


インスタンスメソッド


enumerated()


(n、x) のペアのシーケンスを返します。ここで、n はゼロから始まる連続した整数を表し、x はシーケンスの要素を表します。





宣言


func enumerated() -> EnumeratedSequence<Set<Element>>


戻り値


シーケンスを列挙するペアのシーケンス。


議論


この例では、文字列 "Swift" の文字を列挙して、各文字を文字列内の位置とともに印刷します。


for (n, c) in "Swift".enumerated() {
    print("\(n): '\(c)'")
}
// Prints "0: 'S'"
// Prints "1: 'w'"
// Prints "2: 'i'"
// Prints "3: 'f'"
// Prints "4: 't'"


コレクションを列挙すると、各ペアの整数部分は列挙のカウンターになりますが、必ずしもペアになっている値のインデックスにはなりません。これらのカウンタは、ArrayContiguousArray など、ゼロから始まる整数型インデックスのコレクションの場合にのみインデックスとして使用できます。他のコレクションでは、カウンタは範囲外になっているか、インデックスとして使用するのに不適切な型である可能性があります。このインデックスを使用してコレクションの要素を反復処理するには、zip(_:_:) 関数を使用します。


この例では、Set のインデックスと要素を繰り返し処理して、5 文字以下の名前のインデックスで構成されるリストを作成します。


let names: Set = ["Sofia", "Camilla", "Martina", "Mateo", "Nicolás"]
var shorterIndices: [Set<String>.Index] = []
for (i, name) in zip(names.indices, names) {
    if name.count <= 5 {
        shorterIndices.append(i)
    }
}


shortIndices 配列が names セット内の短い名前のインデックスを保持するようになったので、これらのインデックスを使用して Set 内の要素にアクセスできます。


for i in shorterIndices {
    print(names[i])
}
// Prints "Sofia"
// Prints "Mateo"


複雑さ:O(1)



以下も見よ





Set の反復処理

















トップへ












トップへ












トップへ












トップへ












トップへ
目次
Xcode の新機能

  • 言語:Swift
  • SDK
  • Xcode 8.0+
  • Framework
  • Swift 標準ライブラリ
  • 宣言
  • 戻り値
  • 議論
  • 以下も見よ












  • トップへ












    トップへ












    トップへ












    トップへ












    トップへ