import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.hutool.core.lang.WeightRandom;
import cn.hutool.core.lang.WeightRandom.WeightObj;
import cn.hutool.core.util.RandomUtil;
public class Demo {
public static void main(String[] args) {
List<WeightRandom.WeightObj<String>> weightList = new ArrayList<WeightRandom.WeightObj<String>>();
WeightRandom.WeightObj<String> a = new WeightObj<String>("A", 1);
WeightRandom.WeightObj<String> b = new WeightObj<String>("B", 2);
WeightRandom.WeightObj<String> c = new WeightObj<String>("C", 3);
WeightRandom.WeightObj<String> d = new WeightObj<String>("D", 4);
weightList.add(a);
weightList.add(b);
weightList.add(c);
weightList.add(d);
WeightRandom wr = RandomUtil.weightRandom(weightList);
String str = "";
int num_a = 0, num_b = 0, num_c = 0, num_d = 0;
for (int i = 0; i < 100000; i++) {
str = wr.next().toString();
switch (str) {
case "A":
num_a = num_a+1;
break;
case "B":
num_b = num_b+1;
break;
case "C":
num_c = num_c+1;
break;
case "D":
num_d = num_d+1;
break;
}
//System.out.println(str);
}
System.out.println("A---------"+num_a);
System.out.println("B---------"+num_b);
System.out.println("C---------"+num_c);
System.out.println("D---------"+num_d);
}
}
運行結果: