C#随机获取0-50之间任意数,但是这个数不能存在于另两个集合

从1-50之间随机取数,但是这个数不能在其他两个集合中出现,其他两个集合例如: List1:1,5,7,15.... List2:1,7,20,44.... 请问这个随机数要怎么取
手掌心
浏览 624回答 7
7回答

鸿蒙传说

Random rd=new random(0,50); int num = =-1; while(true) {      num = rd.next();      if(!List1.contains(num)&&!List2.contains(num))            break; }

慕村225694

但是我的集合要是一个实体类类型的呢,比如:List ,List,我要看User1和User2的年龄不包含的呢

慕森王

@淘@淘: 额,那就要循环User1来判断年龄了,不然就在做随机数之前先将两个List中的年龄缓存到一个List中

精慕HU

@滴答的雨: 二楼的思路挺好的。若你的选择范围会填充趋近于满的话这种算法优势就体现出来了。但是如果10000个数实际list只有存几百个,那这个算法就不好

牛魔王的故事

实体类的话可以继承IComparable接口,重写比较方法将相等条件设置为根据该类的Age属性,然后就能和普通的数组一样来了。
打开App,查看更多内容
随时随地看视频慕课网APP