Java 从列表中随机选择用户到另一个列表
我尝试从以下列表中随机选择用户:Java 从列表中随机选择用户到另一个列表,java,list,random,Java,List,Random,我尝试从以下列表中随机选择用户: private static List<User> users = new ArrayList<>(); private static List users=new ArrayList(); 在这一点上: private static List<Lunchpairs> pairs = new ArrayList<>(); private static List pairs=new ArrayList();
private static List<User> users = new ArrayList<>();
private static List users=new ArrayList();
在这一点上:
private static List<Lunchpairs> pairs = new ArrayList<>();
private static List pairs=new ArrayList();
这是我的代码:
public static List<Lunchpairs> getPairs() throws NoUserException{
if(users.isEmpty()){
throw new NoUserException("No participants.");
}
for(int i=0; i< 2; i++){
Random pickPairs = new Random();
Lunchpairs randomPairs = users.get(pickPairs.nextInt(users.size()));
pairs.add(randomPairs);
}
return pairs;
}
publicstaticlist getPairs()引发NoUserException{
if(users.isEmpty()){
抛出新的NoUserException(“无参与者”);
}
对于(int i=0;i<2;i++){
随机选取对=新随机();
午餐对randomPairs=users.get(pickPairs.nextInt(users.size());
配对。添加(随机配对);
}
返回对;
}
但它不是这样工作的。我想问题是我无法从列表中获取姓名,并将其放入列表中。(如果我不对,请告诉我)
如何解决此问题?假设午餐对
有一个构造函数,可以同时使用两个用户,那么这应该可以满足您的需要:
public static List<Lunchpairs> getPairs() throws NoUserException{
if(users.isEmpty()){
throw new NoUserException("No participants.");
}
List<User> shuffeledUsers = new ArrayList<>(users);
Collections.shuffle(shuffeledUsers);
for(int i=0; i < shuffeledUsers.size() / 2; i++){
User user1 = shuffeledUsers.get(i * 2);
User user2 = shuffeledUsers.get(i * 2 + 1);
Lunchpairs randomPair = new Lunchpairs(user1, user2);
pairs.add(randomPair);
}
return pairs;
}
publicstaticlist getPairs()引发NoUserException{
if(users.isEmpty()){
抛出新的NoUserException(“无参与者”);
}
List shuffeledUsers=新的ArrayList(用户);
集合。洗牌(shuffeledUsers);
对于(int i=0;i
对于奇数用户,最后一个用户根本没有午餐。您必须将其添加到上面的代码中。我们可能需要查看用户
和启动对
类才能帮助您。目前,您似乎正在尝试将一个User
对象分配给一个Launchpairs
对象。您所说的“它不是这样工作的”是什么意思?Eclipse告诉我:类型不匹配:无法从用户转换为午餐对Launchpairs
和User
之间的关系是什么?“User”包含名为的用户,姓氏、邮件、部门。我正在尝试从“列表”中选择两个用户,并将它们放入“列表”。午餐对类有一个带getter和setter的“user1”和“user2”。另一个问题:构造函数午餐对(User,User)未定义。