好的,你好。首先,如果我的英语在任何时候看起来都很差,请原谅。不是我的母语。另外,对任何可怕的编码错误都请原谅,但我是Java /编码的初学者。
因此,让我解释一下问题所在,希望您能为我提供帮助:
有一个简化的社交网络,其中包含用户和组。用户也可以成为朋友。
有常规组和封闭组(“组”的子类)。区别在于,在封闭的小组中,您只能在以下情况下加入:1)您是该小组的第一个成员,或者2)如果您已经在该小组中有一个朋友(在这种情况下,显然有人之前已经加入了该小组)您因此条件#1失败了)。
这是东西。本质上,每个用户都有一个ArrayList来存储他的朋友(名为“ friendList”)。在“组”类中还有一个ArrayList,用于存储在该组中注册的用户(名为“成员”)。
当涉及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”中键入什么?
另外,要求在类“ User”中有一个方法,该方法将返回true(如果2个用户是朋友)或false,这也可能是我做错了。
帮助,善良的开发人员。
提前致谢。
编辑:脱节工作就像一个魅力。非常感谢您的建议!
检出Collections类的脱节方法: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()))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句