java随机分组
2016-01-06 11:15
441 查看
java随机分组
最近查看blog看着大家不少把自己工作的总结发上来,大家一起总结学习,所以小弟也把工作的一些经验与总结发上来,希望对新人有些帮助。大家互相交流。package test;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
// 分组数
int zushu = 2;
int[] l = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// 要随机分组的数组打乱顺序后得到的列表
List<Integer> list = new ArrayList<Integer>();
while (list.size() < l.length) {
int rand = (int) (Math.random() * l.length);
if (list.contains(l[rand])) {
continue;
}
list.add(l[rand]);
}
// 总数除以分组数得到的余数(这个要放到第一组)
int yushu = list.size() % zushu;
// 每组成果的个数
int geshu = (list.size() - yushu) / zushu;
// System.out.println("余树"+yushu);
// System.out.println("每个组的个数"+geshu);
// 分组后的列表(列表里装的列表)
List<List> a = new ArrayList();
// 起始值(为了取每个分组后的组的值)
int c = 0;
// 小组个数起始值
int b = 1;
for (int i = 0; i < zushu; i++) {
List s = new ArrayList();
for (int j = c; j < geshu * b; j++) {
s.add(list.get(j));
c++;
}
a.add(s);
b += 1;
}
// 把余数放到第一个组里
if (a != null && !a.isEmpty()) {
for (int i = 0; i < yushu; i++) {
a.get(0).add(list.get(list.size() - (yushu - i)));
}
}
System.out.println(a.get(0));
System.out.println(a.get(1));
}
}
相关文章推荐
- java下载压缩文件
- Eclipse工程 导入 Android Studio
- 导入和导出eclipse代码格式化模板
- JAVA线程池的创建
- struts2 request内幕 为什么在struts2用EL表达式可以取值
- Eclipse下AndroidAnnotations配置指南
- Spring框架学习之IOC(二)
- js模仿java的Map集合详解
- Java 实验:面向对象程序设计
- java map转化为对应的类
- Java 实验:结构化程序设计
- spring security认证
- Spring AOP中pointcut expression表达式解析
- 【JAVA笔记——道】对象生命周期详解
- 十进制转换成其他进制
- java中的基本数据类型?各占多少位?多少字节?取值范围?
- spring security在spring mvc的action中获取登录人信息
- Java中Hashtable类与HashMap类的区别详解
- eclipse快捷键
- Eclipse闪退/打不开/无法启动/一闪而过