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内中很多记录的随机。

相关文章推荐

java list随机抽取元素

/** * 从list中随机抽取元素 * * @param list * @param n * @return void * @throws...

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

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

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

利用Java提供的Random类,从List或Set中随机取出一个元素,从Map中随机获取一个key或value。 由于Set没有提供get(int index)方法,只能先获取一个随机数后,利用一个...

从list集合里随机获取数据

从list集合里随机获取数据 从集合里面随机获取一组数据 settext 获取当前时间  从当前时间往前推七天 获取到这七天的日期 添加到集合里面 private Array...

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

关于使用java从list或array中随机抽取若干不重复的记录问题的探究

java List集合练习题 产生长度随机的字符串,串中每一个字符都是随机的

题目要求:生成10个字符串,字符串长度随机,字符串里面的每一个字符由大小写字母,数字组成,每一个字母也随机生成。不能存在相同的字符串。生成字符串以后,对字符串排序。 主要使用LinkedList和Ra...

java根据概率随机中奖 测试类

最近要做一个宝箱抽奖的功能 自己先联系了一下,分别用 list和set 进行存储和抽取,做了一个时间消耗的对比,感觉list应该比set读取的要快些,但是这也不一定,希望大家能够共同讨论。 废话少说...

Java随机抽取方法、去重的方法

随机抽取函数Random //随机生成一个整数  生成单个的数时的方法有两种 第一种: public void int randomNumber(){ Random ran=new Random();...

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

基本的思想就是用一个取值在0到size之间的随机数来随机生成集合的索引以便取出元素。 [java] view plaincopy import ...

JPQL介绍

一、什么是JPQL 在 Java EE 中,JPQL( Java 持久性查询语言)是专门为Java 应用程序访问和导航实体实例设计的。JPQL是EJB2使用的查询语言EJB QL的扩展,它继承了EJ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java List 随机取记录
举报原因:
原因补充:

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