文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Range   >   randomElement()
インスタンスメソッド
randomElement()
コレクションのランダムな要素を返します。
宣言
func randomElement() -> Bound?
戻り値
コレクションからのランダムな要素。コレクションが空の場合、このメソッドは nil を返します。
議論
randomElement() を呼び出して、配列または別のコレクションからランダムな要素を選択します。この例では、配列からランダムに名前を選択します。
let names = ["Zoey", "Chloe", "Amani", "Amaia"]
let randomName = names.randomElement()!
// randomName == "Amani"
このメソッドは、randomElement(using:) を呼び出して、システムのデフォルトのランダムジェネレータを渡すことと同じです。
複雑さ:コレクションが RandomAccessCollection に準拠している場合は O(1)。そうでなければ、O(n)、ここで n はコレクションの長さです。
以下も見よ
要素へのアクセス
コレクションの最初の要素。
コレクションの最後の要素。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
subscript(Range<Bound>.Index) -> Range<Bound>.Element
指定された位置にある要素にアクセスします。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
subscript(Range<Range<Bound>.Index>) -> Range<Range<Bound>.Bound>
与えられた範囲で教戒された部分シーケンスにアクセスします。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
subscript<R>(R) -> Range<Bound>
範囲式で指定されたコレクションの要素の連続した部分範囲にアクセスします。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
subscript((UnboundedRange_) -> ()) -> Range<Bound>
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func randomElement<T>(using: inout T) -> Bound?
与えられたジェネレータを乱数のソースとして使用して、コレクションのランダムな要素を返します。