假设我将两个用户 apple 和 orange 添加到arraylist。然后我想在苹果公司的朋友列表中添加牛顿。所以苹果应该有一个朋友,而橙子仍然没有朋友,因为我还没有添加它们。
我的问题是,当我向苹果的朋友添加牛顿时,牛顿也出现在了橙色的朋友身上。我只需要一个朋友出现在苹果上,没有一个用于橙色。
ArrayList<FacebookUser> users = new ArrayList<FacebookUser>();
ArrayList<FacebookUser> recommendedFriends = new ArrayList<FacebookUser>();
void friend(String newFriend)
{
boolean positiveChecker = false;
for (int i = 0; i < recommendedFriends.size(); i++)
{
if (recommendedFriends.get(i).toString().equalsIgnoreCase(newFriend))
{
System.out.println("Error: This friend already exists.");
positiveChecker = true;
}
}
if (positiveChecker == false)
{
FacebookUser friend = new FacebookUser(newFriend, newFriend );
recommendedFriends.add(friend);
System.out.println(friend + " is now your friend.");
}
positiveChecker = false;
}
void listFriends(String allFriends)
{
ArrayList<String> usersFriends = new ArrayList<String>();
for (int i = 0; i < recommendedFriends.size(); i++)
{
usersFriends.add(recommendedFriends.get(i).toString());
}
System.out.println(recommendedFriends);
}
我认为这是我为用户朋友设置arraylist的方式,但我不确定如何更改它。
答案 0 :(得分:3)
您的代码中的问题是您的所有朋友共享一个RecommendedFriends池。这意味着苹果的所有朋友也都是橙色的朋友。
ArrayList<FacebookUser> users = new ArrayList<FacebookUser>();
ArrayList<FacebookUser> recommendedFriends = new ArrayList<FacebookUser>();
如上所示,您的班级包含所有FacebookUser以及所有推荐的朋友。您可能希望将您的recommendedFriends列表放在您的FacebookUser类中,以便每个用户都有自己的朋友。