您的位置:首页 > 编程语言 > Java开发

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));

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: