两个不同的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掉。

时间: 2024-10-26 11:23:48

两个不同的list随机组合到一个List中。的相关文章

读取两文件,不同的内容存入另一个文件中

<?php /** * 从两个.csv 文件中读出数据 * 比较这两个文件不同的数据,并存入.csv 文件中 */ class Readfiledata { private function __construct() { } /** * 读文件并获取数据 */ private static function getdata($file) { $handle = fopen ( $file, 'r' ); $orderform = array (); $i=0; while ( false !=

C# 委托:把方法组合到一个数组中使用

C# 委托:把方法组合到一个数组中使用 2016年04月28日 16:12:55 kernel_main 阅读数 1129 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class MathOperations { public static double MultiplyByTwo(double value

排列组合(包括n中随机抽取m个)

有些情况我们需要获取一个数组中的所有排列组合情况,或者获取一部分数据进行随机组合,这个在python中有一个模块可以实现.具体情况如下 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: permutations()可以用来生成排列组合的所有样式参数可以有一个也可以有两个,一个list输出排列组合,两个参数[list,n]表示从list中随机选出n个元素的所有情况 实例: print(list(

动态查询 字段随机组合查询

今日无事,闲来去往上商场逛逛,哈哈 节日又要到了吧. 发现在网上的查询中,有些字段是由用户自己选择,有时候是一个条件都没有,这样的实现在逻辑上是很容易实现的,只是,着手做的时候,却难度重重,今日无事,变自己写了个存储过程,经验证也小有成效,拿出来与大家分享,希望大家指导. 1 create proc sp_selec 2 @a varchar(10) = null, 3 @b varchar(20) = null, 4 @c varchar(10) = null, 5 @d varchar(10

获得N位数字字母随机组合

import string import random def get_rand(n): allw = string.letters+string.digits r = [] for i in range(n): r.append(random.choice(allw)) return ''.join(r) for i in range(4): print get_rand(8) 获得N位数字字母随机组合

编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成

编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成.“组合 ”的规则如下: 1). str中的每个字母要么来自于part1,要么来自于part2; 2). part1和part2中字母的顺序与str中字母的顺序相同. 例如: "codewars"由"cdw"和"oears"组合而成: s: c o d e w a r s = codewars part1: c d w = cdw part2

计算min-max两个整数之间的随机整数

/*------------------------------效率最低 功能:计算min-max两个整数之间的随机整数 作者: 日期:20180831 区别:在查询中嵌入count(*)计算记录总条数,效率最低 */ --SET STATISTICS IO ON; SET STATISTICS TIME ON; GO DECLARE @min INT= 1; DECLARE @max INT= 100; DECLARE @icount INT= 0; DECLARE @t TABLE ( i

帝国cms调用随机文章 支持一个id段内的调用

随机调用文章可以从某个角度上说是更新了网页,如果是动态网页每次刷新网页那个调用列表都是不同,如果是静态网页后台重新生成html后也会变化.那么帝国cms调用随机文章怎么做呢?我们可以用灵动标签(e:loop),插入如下代码,哪里需要插哪里,哈哈 [e:loop={"select * from {$dbtbpre}ecms_news order by rand() desc limit 11",20,24,0}] //11是随机调用的数量 <li><a href=&qu

程序员面试100题之十:快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值(转)

能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解. 假如有如下的两个数组,如图所示: 5,6,1,4,7,9,8 给定Sum= 10 1,5,6,7,8,9 给定Sum= 10 分析与解法 这个题目不是很难,也很容易理解.但是要得出高效率的解法,还是需要一番思考的. 解法一 一个直接的解法就是穷举:从数组中任意取出两个数字,计算两者之和是否为给定的数字. 显然其时间复杂度为N(N-1)/2即O(N^2).这个算法很简