gpt4 book ai didi

java - 如何在指向 ArrayList 中的对象的 "else if"中使用 boolean 值

转载 作者:行者123 更新时间:2023-11-29 04:37:39 31 4
gpt4 key购买 nike

好的,你好。首先,如果我的英语在任何时候看起来很差,请原谅;不是我的母语。另外,请原谅任何可怕的编码错误,但我是 Java/编码的初学者。

所以让我解释一下问题是什么,希望你能帮助我:

有一个包含用户和组的简化社交网络。用户也可以成为 friend 。

有常规组和封闭组(组的子类)。不同之处在于,在封闭群中,您只能在以下情况下加入:1) 您是群中第一个加入的成员或 2) 如果您已经有 friend 在群中(在这种情况下,显然有人之前已经加入了群你所以条件 #1 失败了)。

事情是这样的。本质上,每个用户都有一个 ArrayList 来存储他的 friend (名为“friendList”)。在类“Group”中还有一个 ArrayList 用于存储注册到组中的用户(名为“members”)。

当谈到 ClosedGroups 时,我有一个“if”来检查组的 ArrayList 是否为空。如果是,那么我添加用户。从那时起,我需要检查想要加入的用户是否存在于现有成员的好友列表中,这是我真的不知道该怎么做的地方。 “ClosedGroup”类的“addMember”方法如下所述。

public void addMember(User aUser){
if(members.isEmpty()){
members.add(aUser);
aUser.addGroup(this);
System.out.println(aUser.getName() + " has successfully been enrolled in group " + this.getName());
}
else if(){
members.add(aUser);
aUser.addGroup(this);
System.out.println(aUser.getName() + " has successfully been enrolled in group " + this.getName());
}
else{
System.out.println("FAILED: " + aUser.getName() + " cannot be enrolled in group " + this.getName());
}

那么,我必须在此“else if”中输入什么?

此外,它被要求在“用户”类中有一个方法,该方法将返回真(如果 2 个用户是 friend )或假,我也可能做错了。

帮助,善良的开发者。

提前致谢。

编辑:脱节就像一个魅力。非常感谢大家的建议!

最佳答案

查看Collections类的disjoint方法:http://docs.oracle.com/javase/6/docs/api/java/util/Collections.html#disjoint%28java.util.Collection,%20java.util.Collection%29

如果没有相同的元素,这将返回 true。

if(!Collections.disjoint(members, aUser.getFriends()))

关于java - 如何在指向 ArrayList 中的对象的 "else if"中使用 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40597346/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com