获取不重复的随机数

获取不重复随机数的方法记录

    public static Integer[] getRandomNum(int size, int rangeNum) {
        if (size > rangeNum)
            rangeNum += (size - rangeNum);
        HashSet<Integer> nums1 = new HashSet<>();
        Random random = new Random();
        int i = 0;
        while (i < size) {
            boolean flag = nums1.add(random.nextInt(rangeNum)); // 返回false就代表元素已经存在,存在就不添加
            if (flag) {
                i++;
            }
        }
        Integer[] nums2 = new Integer[size];
        nums1.toArray(nums2);
        return nums2;
    }

传入参数:size——随机数的长度,rangeNum——随机数的范围

posted @ 2017-04-07 14:15  SunnyCC  阅读(337)  评论(0)    收藏  举报