1. 前言
操作集合是一个 Java 编程人员几乎每天都在重复的事情。今天我们来研究一下从 Java Collection 中删除元素的方法。我构建了一个简单的集合,我们以此为例子来展开探索。
List<String> servers = new ArrayList<>();
servers.add("Felordcn");
servers.add("Tomcat");
servers.add("Jetty");
servers.add("Undertow");
servers.add("Resin");
2. for 循环并不一定能从集合中移除元素
让我们使用传统的 foreach
循环移除 F
开头的假服务器,但是你会发现这种操作引发了 ConcurrentModificationException
异常。
// 错误的示范 千万不要使用
for (String server : servers) {
if (server.startsWith("F")) {
servers.remove(server);
}
}
难道 for 循环就不能移除元素了吗?当然不是!我们如果能确定需要被移除的元素的索引还是可以的。
<