使用随机算法产生一个数,要求把1-1000W之间这些数全部生成。(考察高效率,解决产生冲突的问题)
代码虽然实现了。
提高效率的地方有如下:
1.初始化set集合的时候 Sets.newHashSetWithExpectedSize(value),
给初始化带个固定大小,减少了集合在扩容的时候,值重新复制的问题。这的效率稍有提高。
2.Random random = new Random();放在循环之外。
具体代码如下:
具体代码执行结果,如下图:
因为一千万个都打印 出来,不合适;就打印个集合大小就可以了吧。再打印个执行时间。
但是效率好像并没有提升太多。
但是怎么在,产生随机数的时候,修改,使得效率,再次提高。即产生过的数就不再被随机到。
这个我就不知道啦,估计得研究下Random这个类的所有方法才可以吧。
待以后更新。
(当然集合里面多随机生产了个0)