天天看点

java用map集合实现随机抽奖源码

import java.util.HashMap;
import java.util.Random;

//用map实现抽奖
public class demo3 {
    public static void main(String[] args) {
        int[] arr = {888, 588, 10000, 1000, 2};
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();//中奖的奖池
        Random random = new Random();//随机数
        int rdom, count = 1;//接收随机数和打印奖项用的计数器
        while (map.size()<arr.length){//如果中奖的个数小于奖池个数就循环
            rdom = random.nextInt(arr.length);//生成一个奖池个数的随机数
            if (map.get(rdom)==null){//如果中奖的奖池里没有这个索引,就添加否则进入循环
                map.put(rdom,arr[rdom]);//将索引和奖金添加进map集合
                System.out.println("第" + count  + "个奖项,奖金为:" +arr[rdom]);
                count++;//计数器++
            }
        }
    }
}