首页 > 代码库 > 两个不同的list随机组合到一个List中。

两个不同的list随机组合到一个List中。

今天组长给了一个绑定任务,业务需要把一男一女随机的老师绑定到考场。

测试例子入下:

 1 package com.test;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 public class Test {
 7 
 8     /**
 9      * @param args
10      */
11     public static void main(String[] args) {
12         // TODO Auto-generated method stub
13         List<String> ones = new ArrayList<String>();
14         ones.add("1男");
15         ones.add("2男");
16         ones.add("3男");
17         ones.add("4男");
18         ones.add("5男");
19         ones.add("6男");
20         List<String> twos = new ArrayList<String>();
21         twos.add("7女");
22         twos.add("8女");
23         twos.add("9女");
24         twos.add("10女");
25         twos.add("11女");
26         twos.add("12女");
27         List<String> strs = new ArrayList<String>();
28         int a =ones.size();
29         for (int i = 0; i < a; i++) {
30             int index1 = (int) (Math.random() * ones.size());
31             int index2 = (int) (Math.random() * twos.size());
32             strs.add("["+ones.get(index1)+","+twos.get(index2)+"]");
33             ones.remove(index1);
34             twos.remove(index2);
35         }
36         System.out.println(strs);
37     }
38 
39 }

其实原理就是按照不规则取出,放入到一个新list中,取出的在remove掉。

 

两个不同的list随机组合到一个List中。