我正在尝试用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 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");
}
}
}
答案 0 :(得分:0)
我只是好奇,你是否故意检查要添加的人是否已经存在于好友列表中,因为在方法评论中没有提及。 假设您以某种方式访问其他人的朋友列表,并且befriend方法是Person的方法:
return;
。befriend()
属于Person.befriend()
,那么您只需添加friendList.add(p)
和p.getFriendList().add(this)
friendList.contains(p)
(例如,如果friendList的类型是ArrayList)。当且仅当此列表包含至少一个元素e时,collection.contains()方法&#34; [...]返回true(o == null?e == null:o.equals(e)) 。&#34;,见List.html#contains(java.lang.Object) 我希望这会有所帮助。