Java 随机从 List 随机获取多个不重复对象,Mysql 随机10条数据

生如夏花 2018-01-08 21:56:01 14605

今天白天上班的时候,用到这个方法,记录一下,当用户没有发布信息的时候,从数据库中随机获取10条数据,或者从一个   List   中随机获取到10条数据。

Mysql   随机获取10条数据:

SELECT * 
FROM `table1` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table1`)) AS id) AS t2 
WHERE t1.id >= t2.id 
ORDER BY t1.id ASC LIMIT 10

上面的解决办法速度较快。

List 集合中随机获取10条数据:

主要是在   List   集合 size 范围内随机一个int 值,并且保证它不重复。直接上代码:

Random index = new Random();
//存储已经被调训出来的List 中的 index
List<Integer> indexList = new ArrayList<>();
List<GroupsListAndToolsBo> newList = new ArrayList<>();
for(int i=0,j;i<count;i++){
    //获取在 list.size 返回内的随机数
    j = index.nextInt(list.size());
    //判断是否重复
    if(!indexList.contains(j)){
        //获取元素
        indexList.add(j);
        newList.add(list.get(j));
    }else{
        i--;//如果重复再来一次
    }
}

好久没有发博客了,so 大大别封我账号啊。我后面会加油,年底公司小忙。


版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/263.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
上天我不能,入地我不愿,我只能徘徊于天地之间。生当夏花,死而无憾!
相关文章
Elasticsearch Java API 获取version,以及数据_version的介绍
Elasticsearch 随机返回数据 API
JSON格式讲解,JSON获取对象,JSONObject和JSONArray的操作
Java获取域名,Java从URL地址中获取域名,Java从Request 获取域名
Java 正则获取一级域名
Java 获取时间戳的方法大全,以及速度比较
Oracle与Mysql删除重复数据,Oracle和Mysql数据重复
根据域名获取IP地址,Java 获取域名的IP地址
Java 获取HTPP 301 / 302 重定向后的Url地址,301和302对SEO的影响
Java 获取webapp,Root,classpath,项目等路径工具类
最新文章
使用七牛云存储实现图片API,自动删除图片方案合集 1140
神速ICP备案经验分享,ICP备案居然一天就通过了 2238
百度加强推送URL链接,百度SEO强行推送链接JavaScript代码案例讲解。 2913
SOJSON 拓展服务器被DDos攻击了一晚上,是如何解决的? 3358
湖南地区备案“新增网站需提交组网方案或解释说明”,关于备案做简单叙述 3314
企查查你是个什么企业,骗子的帮凶,诈骗的集中营,通过企查查骚扰企业电话不断,为所欲为的企查查 9623
Java爬取百度云观测对网站的检测数据,获取子域名及域名的安全信息 2555
【2020年】百度搜索词获取,获取百度搜索的关键词【真实有效】 7037
Nodejs环境安装,Nodejs环境安装一篇就够了 1804
iOS版淘宝打开提示“您使用的程序是内测版本,将于2020-03-28到期,到期将无法使用,请尽快下载最新版本” 2505
最热文章
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 432360
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 417837
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 350803
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 312147
免费天气API,天气JSON API,不限次数获取十五天的天气预报 288054
Elasticsearch教程(四) elasticsearch head 插件安装和使用 221370
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 177535
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 136407
Elasticsearch教程(一),全程直播(小白级别) 119609
Elasticsearch教程(五) elasticsearch Mapping的创建 98909
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...