| 只是看(队伍不变) | 会改(队伍变了) |
|---|---|
size() get(0) contains() |
add() remove() |
for (String n : names) {
if (n.equals("张三")) names.remove(n);
}
看到 张三
Exception in thread "main" java.util.ConcurrentModificationException
ConcurrentModification = 点名的同时被改了。踢掉一人后面全往前挪(13-ArrayList和HashMap),点名的人发现队伍变了就报错。 正确:点完名再踢,remove 放到 for 外面。
size() / get(0) / add / contains 哪些放循环里不报错?→「除了 add 其余都不会」✅