gpt4 book ai didi

java - 从集合中移除元素

转载 作者:搜寻专家 更新时间:2023-10-30 21:15:04 26 4
gpt4 key购买 nike

我正在尝试删除集合中所有长度相等的字符串。到目前为止,这是我的代码,但我无法从增强型 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com