2015-04-17 2 views
1

Скажите, что я добавляю 2 пользователей apple и оранжевый в arraylist. Затем я хочу добавить newton в список друзей Apple. Итак, у яблока должно быть 1 друг, а у оранжевого еще нет друзей, потому что я еще не добавил их.Добавление строк в архаист

Моя проблема заключается в том, что когда я добавляю новобрану к друзьям яблока, Ньютон также появляется в друзьях апельсина. Мне просто нужно, чтобы один друг появился на яблоко, а для апельсина - нет.

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 для друзей пользователя, но я не уверен, как изменить его.

+2

Я не знаю, что вы пытаетесь сделать, но 'recommendedFriends.get (i) .toString()! = ПрежнийFriend' должен быть'! RecommendedFriends.get (i) .toString(). Equals (бывшийFriend) '. –

+0

Можете ли вы организовать свой код, чтобы мы что-то поняли? Опубликовать только соответствующий код –

+0

Друг друга? Hmm ... –

ответ

3

Проблема в вашем коде заключается в том, что все ваши друзья разделяют один пул рекомендуемых друзей. Это означает, что все друзья Apple также являются друзьями апельсина.

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

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

Как вы можете видеть выше, ваш класс содержит все FacebookUser, а также все recommendedFriends. Вероятно, вы захотите разместить свой список рекомендуемых друзей в своем классе FacebookUser, чтобы каждый пользователь имел свой собственный набор друзей.

+2

или используйте ' Карта (или многоканальная). –

+0

Это тоже вариант :). –

Смежные вопросы