Generic Initializer

init(uniqueKeysWithValues:)

Creates a new dictionary from the key-value pairs in the given sequence. 新しい辞書を、与えられたシーケンスの中のキー値ペアから作成します。

Declaration 宣言

init<S>(uniqueKeysWithValues keysAndValues: S) where S : Sequence, S.Element == (Key, Value)

Parameters パラメータ

keysAndValues

A sequence of key-value pairs to use for the new dictionary. Every key in keysAndValues must be unique. キー値ペアからなるシーケンス、新しい辞書に使うためのもの。keysAndValuesの中のすべてのキーは特有でなければなりません。

Return Value 戻り値

A new dictionary initialized with the elements of keysAndValues. keysAndValuesの要素で初期化された新しい辞書。

Discussion 解説

You use this initializer to create a dictionary when you have a sequence of key-value tuples with unique keys. Passing a sequence with duplicate keys to this initializer results in a runtime error. If your sequence might have duplicate keys, use the Dictionary(_:uniquingKeysWith:) initializer instead. 特有なキーをもつキー値タプルのシーケンスをあなたが持つ場合、あなたはこのイニシャライザを使って辞書を作成してください。重複するキーを持つシーケンスをこのイニシャライザに渡すことは、実行時エラーという結果になります。あなたのシーケンスが重複するキーを持つかもしれないならば、Dictionary(_:uniquingKeysWith:)イニシャライザを代わりに使ってください。

The following example creates a new dictionary using an array of strings as the keys and the integers in a countable range as the values: 以下の例は、文字列からなる配列をキーとしてそして可付番範囲の中の整数を値として、新しい辞書を作成します。


let digitWords = ["one", "two", "three", "four", "five"]
let wordToValue = Dictionary(uniqueKeysWithValues: zip(digitWords, 1...5))
print(wordToValue["three"]!)
// Prints "3"
print(wordToValue)
// Prints "["three": 3, "four": 4, "five": 5, "one": 1, "two": 2]"

Precondition: The sequence must not have duplicate keys. 前提条件:シーケンスは重複するキーを持ってはいけません。

See Also 参照

Creating a Dictionary 辞書の作成