Java List 随机取记录

原创 2011年01月07日 14:21:00

最近需要做一个随机出广告的功能,上篇博客中说到了oracle 端的随机办法。

在这对Java List中怎么随机取数做一个分享:

其实List中没有现成随机取记录的方法,但在Collections中有个shuffle方法可以实现“洗牌”的效果,所谓“洗牌”就是把List中的元素打乱重新排序。重新排列后的List再从头取需要发记录数,就相等于完成了随机取数的效果,见代码

 

输出结果:

 

orginal List:

01234

after shuffle List:

32041

 

 

shuffle的原理就是用了Collection中的swap,对List中的每一个元素实现随机换位一次,这也就意味着这种随机方式不适合对List内中很多记录的随机。

关于从list或者数组中随机抽取部分不重复元素的问题探究

关于使用java从list或array中随机抽取若干不重复的记录问题的探究
  • u011526599
  • u011526599
  • 2016年04月11日 21:44
  • 5209

从数组和List中随机抽取若干不重复的元素.

从list和数组中随机抽取若干不重复元素, 这里的重复是指索引位置重复 , 也就是不会重复取到同一索引位置上的元素。就像人一样,名字可能会相同但身份证号不可能会相同。...
  • Scaarf
  • Scaarf
  • 2017年04月27日 17:46
  • 4315

Java List 随机取记录

最近需要做一个随机出广告的功能,上篇博客中说到了oracle 端的随机办法。在这对Java List中怎么随机取数做一个分享:...
  • muyangk
  • muyangk
  • 2011年01月07日 14:21
  • 8536

Java如何随机取出集合中的元素

基本的思想就是用一个取值在0到size之间的随机数来随机生成集合的索引以便取出元素。 [java] view plaincopy import ...
  • l1976135784
  • l1976135784
  • 2013年05月25日 10:34
  • 5828

java list随机抽取元素

/** * 从list中随机抽取元素 * * @param list * @param n * @return void * @throws...
  • u013939884
  • u013939884
  • 2017年05月17日 11:22
  • 3718

随机抽取几条数据库记录的Java代码

其中的10表示抽取的记录数量,200000表示总记录数减去抽取记录数量的余值,其中rid为主键 public Vector getSomeReader() {         Vector res...
  • leeshuqing
  • leeshuqing
  • 2012年10月18日 22:18
  • 3541

从list集合里随机获取数据

从list集合里随机获取数据 从集合里面随机获取一组数据 settext 获取当前时间  从当前时间往前推七天 获取到这七天的日期 添加到集合里面 private Array...
  • u014608261
  • u014608261
  • 2016年10月19日 20:09
  • 4384

java list随机取值

public static void main(String[] args) { List list = new ArrayList(); List randomList = new ArrayLis...
  • u012881520
  • u012881520
  • 2017年11月29日 14:18
  • 107

java实现从一个整型数组中随机取一个数

int [] arr = {1,2,3,4}; //产生0-(arr.length-1)的整数值,也是数组的索引 int index=(int)(Math.random()*arr.length); ...
  • wuyongde0922
  • wuyongde0922
  • 2017年04月21日 13:58
  • 1668

随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value

利用Java提供的Random类,从List或Set中随机取出一个元素,从Map中随机获取一个key或value。 由于Set没有提供get(int index)方法,只能先获取一个随机数后,利用一个...
  • ClementAD
  • ClementAD
  • 2015年06月30日 20:18
  • 12048
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java List 随机取记录
举报原因:
原因补充:

(最多只允许输入30个字)