I m getting ConcurrentModificationException but i dont really understand why.. When i use an iterator shouldnt it supposed to work fine ?
public void nextDay(){
int range = (10 - 0) + 1;
ListIterator<User> it = this.socialNetwork.getPeopleInNetwork().listIterator();
while(it.hasNext()) {
User user = it.next();
int random = (int)(Math.random() * range) + 0;
if(user.getFriends().size()<=25){
try {
this.socialNetwork.getPeopleInNetwork().add(user.addFriend(new UserImpl("new","user")));
user.addFriend(this.socialNetwork.getPeopleInNetwork().get(random));
} catch (IllegalArgumentException | UserAlreadyInFriendListException e) {
logger.error(e.getMessage());
}
}else{
try {
this.socialNetwork.getPeopleInNetwork().add(user.addFriend(new UserImpl("new","user")));
this.socialNetwork.getPeopleInNetwork().add(user.addFriend(new UserImpl("new","user")));
this.socialNetwork.getPeopleInNetwork().add(user.addFriend(new UserImpl("new","user")));
user.addFriend(this.socialNetwork.getPeopleInNetwork().get(random));
} catch (IllegalArgumentException | UserAlreadyInFriendListException e) {
logger.error(e.getMessage());
}
}
}
}