文書   >   Swift   >   Dictionary   >   Order Dependent Operations on Dictionary   >   formIndex(_:offsetBy:limitedBy:)
インスタンスメソッド
formIndex(_:offsetBy:limitedBy:)
与えられたインデックスを指定された距離だけオフセットするか、それが与えられた制限インデックスと等しくなります。
宣言
パラメータ
i | コレクションの有効なインデックス。 |
distance | i をオフセットすべき距離。コレクションが BidirectionalCollection プロトコルに準拠しない限り、distance は負であってはなりません。 |
limit | 制限 (limit) として使用すべきコレクションの有効なインデックス。distance > 0 の場合、i 未満の制限は効果がありません。同様に、 distance < 0 の場合、i より大きい制限は効果がありません。 |
戻り値
limit を超えずに正確に distance のステップだけ i がオフセットされている場合は true。それ以外の場合は false。戻り値が false の場合、i の値は limit と等しくなります。
議論
distance として渡された値は、 limit として渡されたインデックスがそれらの境界を超えてオフセットすることを妨げない限り、コレクションの境界を超えて i をオフセットしてはなりません。
複雑さ:コレクションが RandomAccessCollection に準拠している場合は O(1)。それ以外の場合、O(k)、ここで k は distance の絶対値です。
以下も見よ
インデックスの操作
var startIndex: Dictionary<Key, Value>.Index
空でない辞書の最初の要素の位置。
var endIndex: Dictionary<Key, Value>.Index
辞書の "最後を過ぎた" 位置、つまり、最後の有効なサブスクリプト引数よりも 1 つ大きい位置。
func index(after: Dictionary<Key, Value>.Index) -> Dictionary<Key, Value>.Index
与えられたインデックスの直後の位置を返します。
func formIndex(after: inout Dictionary<Key, Value>.Index)
与えられたインデックスをその後継者で置き換えます。
func index(Index, offsetBy: Int) -> Index
与えられたインデックスから指定された距離にあるインデックスを返します。
func formIndex(inout Index, offsetBy: Int)
与えられたインデックスを指定した距離だけオフセットします。
func index(Index, offsetBy: Int, limitedBy: Index) -> Index?
与えられた制限インデックスをその距離が超えない限り、与えられたインデックスから指定された距離にあるインデックスを返します。
func distance(from: Index, to: Index) -> Int
2 つのインデックス間の距離を返します。
var indices: DefaultIndices<Dictionary<Key, Value>>
昇順でのコレクションのサブスクリプト付けに有効なインデックス。