、私はちょうど項目のリストをシャッフルするために、この構造を使用するように言われた:のJava - Javaではシャフリング要素と出力する特定量
List<String> tasks = Arrays.asList("1","2","3","4","5","6","7","8");
Collections.shuffle(tasks);
for(String task : tasks){
System.out.println(task);
}
問題を私のプログラムのため、この解決策で私だけランダムにしたいれますユーザーが選択した数の要素を出力します(つまり、ユーザーが8つすべての要素ではなく5つの要素を必要とする場合は、ランダムに出力された5つの要素のみを必要とします)。私は実際にラムダやその形式のforloopを使用したことはありません(私はJavaを完全に使い慣れていません)。私は配列の使い方を知っていて、配列のシャッフルオプションを見つけようとしましたが、何も出てこなかった。また、私はこれを試してみました:
int num = console.nextInt();
List<String> tasks = Arrays.asList("1","2","3","4","5","6","7","8");
Collections.shuffle(tasks);
for(int i = 1; i <= num; i++){
String task = tasks;
System.out.println(task);
}
しかし、明らかに、このフォーマットは(主な理由は、再び、私はその形式がどのように動作するか分からない)非常に、非常に間違っています。リストをシャッフルして、ユーザーが望む要素の量だけを出力するにはどうすればよいですか?
注:私はリストをシャッフルした後
チェック 'Random'クラス – sidgate
リストから特定のインデックスにある要素を取得するために使用できる 'List''get(int index)'メソッドです。例: 'String task = tasks.get(i)'。 – Titus
'for(String task:tasks.subList(0,5){' – BevynQ