文書   >   Swift   >   Swift 標準ライブラリ >     Collections   >   Supporting Types   >   Slice   >   shuffle(using:)
汎用インスタンスメソッド
shuffle(using:)
与えられたジェネレータを乱数のソースとして使用して、コレクションをその場でシャッフルします。
宣言
mutating func shuffle<T>(using generator: inout T) where T : RandomNumberGenerator
パラメータ
generator | コレクションをシャッフルするときに使用するための乱数ジェネレータ。 |
議論
このメソッドを使用して、カスタムの乱数ジェネレータを使用しているときにコレクションの要素をランダム化できます。たとえば、shuffle(using:) メソッドを使用して、配列の要素をランダムに並べ替えることができます。
var names = ["Alejandro", "Camila", "Diego", "Luciana", "Luis", "Sofía"]
names.shuffle(using: myGenerator)
// names == ["Sofía", "Alejandro", "Camila", "Luis", "Diego", "Luciana"]
複雑さ:O(n)、ここで n はコレクションの長さです。
コレクションをシャッフルするために使用されるアルゴリズムは、将来のバージョンの Swift で変更される可能性があります。プログラムを実行するたびに同じシャッフルされた順番になるジェネレータを渡す場合、異なるバージョンの Swift を使用してプログラムをコンパイルすると、そのシーケンスが変わることがあります。
関連
汎用の制約
Self : RandomAccessCollection
T : RandomNumberGenerator