文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Sequence and Collection Protocols   >   Collection   >   randomElement(using:)
汎用インスタンスメソッド
randomElement(using:)
与えられたジェネレータを乱数のソースとして使用して、コレクションのランダムな要素を返します。
宣言
func randomElement<T>(using generator: inout T) -> Self.Element? where T : RandomNumberGenerator
パラメータ
generator | ランダムな要素を選択するときに使用する乱数発生器。 |
戻り値
コレクションからのランダムな要素。コレクションが空の場合、このメソッドは nil を返します。
議論
カスタムの乱数発生器を使用している場合は、randomElement(using:) を呼び出して配列または別のコレクションからランダムな要素を選択します。この例では、配列からランダムに名前を選択します。
let names = ["Zoey", "Chloe", "Amani", "Amaia"]
let randomName = names.randomElement(using: &myGenerator)!
// randomName == "Amani"
複雑さ:コレクションが RandomAccessCollection に準拠している場合 O(1)。そうでなければ、O(n)、ここで n はコレクションの長さです。
ランダムな要素を選択するために使用されるアルゴリズムは、将来のバージョンの Swift で変更される可能性があります。プログラムを実行するたびに同じシーケンスの要素を生成するジェネレータを渡す場合、異なるバージョンの Swift を使用してプログラムをコンパイルすると、そのシーケンスが変わることがあります。
関連
汎用の制約
T : RandomNumberGenerator