Java 好友列表程序
我正在尝试用Java创建一个friendlist程序。 但是,我必须同时向两个数组列表添加一个用户对象 有什么办法吗? 我当前的代码是这样的,但它似乎不正确Java 好友列表程序,java,Java,我正在尝试用Java创建一个friendlist程序。 但是,我必须同时向两个数组列表添加一个用户对象 有什么办法吗? 我当前的代码是这样的,但它似乎不正确 /* Add this particular person (person in the parameter list) to your friendList * Add yourself to this particular person's friendList as well * * If either
/* Add this particular person (person in the parameter list) to your friendList
* Add yourself to this particular person's friendList as well
*
* If either you or person-to-be-added's friendList is full (already have 5 friends),
* - print "Friends limit reached."
* - Both parties will not add each other.
* NOTE: Your total number of friends cannot exceed 5 (friendsLimit)
*/
public void befriend(Person p){
//Implement your code here..
for(Person i : friendList) {
if(!i.equals(p) && friendList.size() < 5) {
friendList.add(p);
}
else
if(!i.equals(p) && friendList.size() >= 5) {
System.out.println("Friends limit reached.");
}
else {
System.out.println("Friend already exist in list");
}
}
}
我只是好奇,你是否有意检查要添加的人是否已经出现在好友列表中,因为在方法的注释中没有提到。 假设您可以通过某种方式访问他人的好友列表,并且befriend方法是一个人的方法: 您不必迭代您的好友列表中的所有人,以确保您或其他人的好友列表均未满负荷。只需检查边界,如果没有足够的空间,打印消息并致电返回;在if子句中。 如果befriend方法是Person.befriend,那么您只需要添加friendList.addp和p.getFriendList.addthis 如果您需要确保不添加任何人两次,那么您可以在for循环中对此进行检查。但是因为Person类有一个equals方法,可能还有一个hashCode,所以可以使用Java集合方法friendList.containspin case friendList是ArrayList类型的。collection.contains方法[…]在且仅当此列表至少包含一个元素e,使得o==null时返回true?e==null:o.equalse.,请参见
我希望这能有所帮助。我投票将这个问题作为离题题结束,因为op根本没有表现出任何努力。你想用一种更方便的方式将p添加到你的好友列表中吗?是时候与。。。如果朋友0=AAA,1=BBB,当您尝试添加BBB时会发生什么?否。。。我想做的是-我有人1和2。如果人1添加2,2将添加到1好友列表中。同时,1将被添加到2的Friendlist中。确实如此,谢谢。