文書   >   Foundation   >   Collections   >   Set   >   shuffled(using:)
汎用インスタンスメソッド
shuffled(using:)
乱数の発生源として与えられた発生器を使用してシャッフルされた、シーケンスの要素を返します。
宣言
パラメータ
generator | シーケンスをシャッフルするときに使用すべき乱数発生器。 |
戻り値
このシーケンスの要素をシャッフルされた順に並べた配列。
議論
カスタムの乱数発生器を使用している場合は、このメソッドを使用してシーケンスの要素をランダム化します。たとえば、0 から 9 までの範囲で shuffled(using:) メソッドを呼び出すことで、その範囲の数字をシャッフルできます。
let numbers = 0...9
let shuffledNumbers = numbers.shuffled(using: &myGenerator)
// shuffledNumbers == [8, 9, 4, 3, 2, 6, 7, 0, 5, 1]
複雑さ:O(n)、ここで n はシーケンスの長さです。
シーケンスをシャッフルするために使用されるアルゴリズムは、Swift の将来のバージョンで変更される可能性があります。プログラムを実行するたびに同じシャッフル順序になる発生器を渡すと、プログラムが異なるバージョンの Swift を使用してコンパイルされたときにその順序が変わる可能性があります。
以下も見よ
Set の変形
func map<T>((Element) -> T) -> [T]
与えられたクロージャをシーケンスの要素にマッピングした結果を含む配列を返します。
func compactMap<ElementOfResult>((Element) -> ElementOfResult?) -> [ElementOfResult]
このシーケンスの各要素を使用して、与えられた変換を呼び出した結果の nil 以外の結果を含む配列を返します。
func flatMap<SegmentOfResult>((Element) -> SegmentOfResult) -> [SegmentOfResult.Element]
このシーケンスの各要素を使用して、与えられた変換を呼び出した結果を連結したものを含む配列を返します。
func flatMap<ElementOfResult>((Element) -> ElementOfResult?) -> [ElementOfResult]
  廃止  
func reduce<Result>(Result, (Result, Element) -> Result) -> Result
与えられたクロージャを使用してシーケンスの要素を組み合わせた結果を返します。
func reduce<Result>(into: Result, (inout Result, Element) -> ()) -> Result
与えられたクロージャを使用してシーケンスの要素を組み合わせた結果を返します。
並べ替えられたシーケンスの要素を返します。
Element が Comparable に準拠している場合利用可能です。
func sorted(by: (Element, Element) -> Bool) -> [Element]
与えられた述語 (predicate) を要素間の比較として使用して、並べ替えられたシーケンスの要素を返します。
func shuffled() -> [Element]
シーケンスの要素をシャッフルして返します。
var lazy: LazySequence<Set<Element>>
このシーケンスと同じ要素を含むが、map や filter などの一部の操作が遅延的に実装されているシーケンス。
トップへ
トップへ
トップへ
トップへ
トップへ