忙碌的时候给你讲个笑话,送给努力奋斗的你们
程序员见到科比,非常崇拜,于是就有下面一段对话
程序员:“你为什么这么成功,能告诉我成功的秘诀是什么吗?”
科比:“你见过城市凌晨四点的样子吗?”
程序员:“嗯,这个时候我一般在写代码!”
科比:“。。。。。”
↓↓
↓↓
↓↓
正文
1.下面是一个数组存入并随机选出 N 个元素的 代码片
。
//这是我项目中查出来的对象集合,你们想在数组中存什么,就换成什么
List<SdiscOrder> sdiscOrderList = sdiscAdminService.queryOrderListByTime(startTime, endTime);
//集合的大小
Integer countReward = sdiscAdminService.queryOrderNumberByTime(startTime, endTime);
// 筛选随机数组大小(随机选出的数量,例如:5个)
int k = 4;
// 待筛选数组最大上标(我这里是集合的大小)
int n = countReward;
//创建数组
int[] numbers = new int[n];
//把取到的用户Id存到数组(我是把对象Id循环进数组中了)
for (int i = 0; i < sdiscOrderList.size(); i++) {
numbers[i] = sdiscOrderList.get(i).getUserid();
}
int[] results = new int[k];
//随机产生5个小数
for (int i = 0; i < results.length; i++) {
// 取出一个随机数
int r = (int) (Math.random() * n);
results[i] = numbers[r];
// 排除已经取过的值
numbers[r] = numbers[n - 1];
n--;
}
Arrays.sort(results);
//把随机选好的几个元素放在了results中了,循环对其操作
for (int i : results) {
//操作就自己写咯!
}