将字符串添加到arraylist

时间:2015-04-17 15:46:52

标签: java arraylist

假设我将两个用户 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的方式,但我不确定如何更改它。

1 个答案:

答案 0 :(得分:3)

您的代码中的问题是您的所有朋友共享一个RecommendedFriends池。这意味着苹果的所有朋友也都是橙色的朋友。

ArrayList<FacebookUser> users = new ArrayList<FacebookUser>();

ArrayList<FacebookUser> recommendedFriends = new ArrayList<FacebookUser>();

如上所示,您的班级包含所有FacebookUser以及所有推荐的朋友。您可能希望将您的recommendedFriends列表放在您的FacebookUser类中,以便每个用户都有自己的朋友。