ConcurrentModificationException并不知道为什么?

时间:2015-09-22 20:16:49

标签: java set concurrentmodification

我试图让一群人和每个人都能找到朋友。然后循环通过朋友,并为每个朋友找到他的朋友并调用一个名为groupPeople()的方法。但是我得到了ConcurrentModificationException。知道为什么吗?

for (User user : this.groupA) {
            Set<User> listofFriends = user.getFriends();
             Iterator<User> iterator = listofFriends.iterator();
                while(iterator.hasNext()) {
                    User setElement = iterator.next();
                    Set<User> listofFriends2 = setElement.getFriends();
                    groupPeople(listofFriends2,10);
                }
        }
private void groupPeople(Set<User> group,int number) {
        for (User user : group) {
            int y = 0;
            while(y<number){
                user.addFriend(socialNetwork.getPeopleInNetwork().get(++counter));
                y++;
            }
        }
    }

异常消息:

Exception in thread "main" java.util.ConcurrentModificationException
  at java.util.HashMap$HashIterator.nextEntry(HashMap.java:922)
  at java.util.HashMap$KeyIterator.next(HashMap.java:956)

0 个答案:

没有答案