どうも、ちょげ(@chogetarou)です。
リスト(List)の要素をランダムに抽出する方法を紹介します。
方法

リスト(List)の要素をランダムに取得するには、Randomを使います。
まず、Randomをインポートします。
import java.util.Random;
次に、Randomのインスタンスを生成します。
RandomのインスタンスからnextInt()を呼び出し、nextInt()の引数にリストの要素数を指定します。
そして、リストのnextInt()の戻り値のインデックスにアクセスします。
//list=対象のリスト, T=要素の型
Random rnd = new Random();
int index = rnd.nextInt(list.size()); //ランダムなインデックスを生成
T result = list.get(index); //リストの要素をランダムに取得
上記のnextInt()のインデックスにアクセスすることで、リスト(List)の要素をランダムに取得できます。
使用例
import java.util.ArrayList;
import java.util.Random;
public class Main {
public static void main(String[] args) throws Exception {
ArrayList<String> nums = new ArrayList<String>(5);
nums.add("one");
nums.add("two");
nums.add("three");
nums.add("four");
nums.add("five");
for (var i = 0; i < 5; i++) {
System.out.println(getRandom(nums));
}
}
public static String getRandom(ArrayList<String> list) {
Random rnd = new Random();
int index = rnd.nextInt(list.size());
return list.get(index);
}
}
出力:
five
four
two
two
one
コメント