gpt4 book ai didi

java - 如何从集合中删除长度为 5 的字符串?

转载 作者:行者123 更新时间:2023-12-01 16:36:37 25 4
gpt4 key购买 nike

我想从集合中删除长度为 5 的字符串,但它一直输出集合本身。

public void remove5()
{
Set<String> newSet = new HashSet<String>();
newSet.add("hello");
newSet.add("my");
newSet.add("name");
newSet.add("is");
newSet.add("nonsense");
for(String word: newSet)
{
if(word.length()==5)
{
newSet.remove(word); // Doesn't Help - throws an error Exception in thread "main" java.util.ConcurrentModificationException
}
}
System.out.println(newSet);
}

我希望输出是:

my
name
is
nonsense

(hello 已被删除,因为它有 5 个字符)

但我每次都会得到这个:

hello
my
name
is
nonsense

你能帮忙吗?

最佳答案

Iterator<String> it= newStr.iterator();
while(it.hasNext()) { // iterate
String word = it.next();
if(word.length() == 5) { // predicate
it.remove(); // remove from set through iterator - action
}
}

关于java - 如何从集合中删除长度为 5 的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8336663/

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