作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试删除集合中所有长度相等的字符串。到目前为止,这是我的代码,但我无法从增强型 for 循环中的迭代器获取索引。
public static void removeEvenLength(Set<String> list) {
for (String s : list) {
if (s.length() % 2 == 0) {
list.remove(s);
}
}
}
最佳答案
Set
没有元素索引的概念。元素在集合中没有顺序。此外,您应该在迭代时使用 Iterator
以避免 ConcurrentModificationException
当从集合中移除一个元素时同时对其进行循环:
for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
String s = iterator.next();
if (s.length() % 2 == 0) {
iterator.remove();
}
}
请注意调用 Iterator.remove()
而不是 Set.remove()
。
关于java - 从集合中移除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28178554/
我正在做一个项目,我的 android 在这个项目中作为一个网络服务器工作;输入带端口号的 IP 地址,打开 Web 界面,用户可以将文件上传到手机。我想在 Web 界面上显示一些图片,以便我们的界面
我是一名优秀的程序员,十分优秀!