使用HashSet实现不重复的随机数

Posted tzzt01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用HashSet实现不重复的随机数相关的知识,希望对你有一定的参考价值。

package demo;

import java.util.HashSet;
import java.util.Random;

public class RandomDemo {
    public static void main(String[] args) {
        HashSet<Integer> hashSet = new HashSet();
        randomSet(hashSet);
        System.out.println(hashSet);
    }

    private static void randomSet(HashSet<Integer> hashSet) {
        if (hashSet.size() == 10) { //如果hashSet等于10,不需要递归
            return;
        }

        Random random = new Random();
        for (int i = 0; i < 10 - hashSet.size(); i++) {
            hashSet.add(random.nextInt(20) + 1);
        }

        if (hashSet.size() < 10) {// 如果hashSet不足10个,递归
            randomSet(hashSet);
        }
    }
}

 

以上是关于使用HashSet实现不重复的随机数的主要内容,如果未能解决你的问题,请参考以下文章

播放随机声音而不重复

怎样在C#中把0-10这11个数随机顺序不重复的放到集合里面?

java 一次生成一个无重复随机

HashSet:获取10个1至20的随机数,要求随机数不能重复

HashSet实现不重复储值原理-附源码解析

Set 的主要实现类:HashSet