この方法を使用するように促すものは何ですか?
更新:要点がわかりました。「シャッフルは自明なアルゴリズムではない」というウリの理由が好きです。その通りです。
この方法を使用するように促すものは何ですか?
更新:要点がわかりました。「シャッフルは自明なアルゴリズムではない」というウリの理由が好きです。その通りです。
要素の順序付けられたシーケンスをランダムにシャッフルしたい理由はたくさんあります。たとえば、トランプのデッキ。
並べ替えと同様に、シャッフルも簡単なアルゴリズムではありません。そのため、ライブラリ関数が必要になることはよくあることです。
なぜリストなのかというと、明らかにそれは順序付けられたコレクションである必要があるため、一般的なコレクションではありません。リストとそのサブタイプのみが順序付けされることが保証されています。Collections クラスは配列の操作を提供しませんが、ArrayList をこのメソッドに渡すことができます (おそらく、パフォーマンスのために渡す必要があります)。
ええと、コレクションがあり、それをシャッフルしたい場合...
最も明白な例は、個々のカードを表すオブジェクトと、シャッフルするデッキを表すコレクションがあるカード ゲームです。
もう 1 つの例は、アンケートで複数の回答をユーザーに提示する場合で、回答の順序によって偏りが生じないようにする場合です。そのため、各ユーザーにシャッフルされた一連の回答を提示して、そこから選択できるようにします。 .
では、トランプのデッキをモデリングしていると想像してください。Shuffle は、最初に作成する関数の 1 つです。
コレクションの内容をランダム化したいときはいつでも、シャッフルを使用します。
この方法をどのように使用できるかについてのアイデア: