专业的JAVA编程教程与资源

网站首页 > java教程 正文

java随机抽取不同元素问题(java随机抽取不同元素问题有哪些)

temp10 2024-10-25 17:02:34 java教程 19 ℃ 0 评论

之前做项目的时候遇到过随机抽取不同元素的问题,比如说从题库中随机抽取不同的题目,从专家中随机抽取几位作为评委等。当时,临时写了一些代码,分享给大家。虽然可能不是最佳方案,但是,至少是可以正常运行的。先看一下效果:

具体思路:首先是待抽取的数据,本例是使用最常见的list和array作为数据来源,当然,默认其中的元素各不相同。我们要从中抽取若干不同的元素,只需要从其中抽取若干不同的下标就行了。

java随机抽取不同元素问题(java随机抽取不同元素问题有哪些)

针对这种问题,首先想到了java中的random,当然,包括Math.random()和Random类,二者用法大同小异,本例使用的是Math.random()。

使用Math.random()可以获取指定下标范围的随机数,那么怎么保证数据不重复呢,可选方案有很多,比如Set、Map等,本例使用Map来实现。具体原理为Map的key是唯一的,我们可以利用这个来存放抽取的不同的下标,同时进行计数,当然,使用Set的原理是一样的,Set中不能存放相同的元素。

示例代码:

执行程序的运行结果如下:

可以看到与本文开头的执行结果不同,实现了随机的效果。当然,本例具体的执行效率如何,在此不做深究,更加专业和讲求效率的做法估计是从算法和设计模式的角度入手了。本例对于一些简单的需求还是可以满足的,至于大数据的情况留待以后研究吧。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表