gpt4 book ai didi

java - 迭代器不循环

转载 作者:行者123 更新时间:2023-11-29 07:00:18 24 4
gpt4 key购买 nike

在我的项目中,用户输入随机字母。然后我遍历 my_list查看这些随机字母中是否出现了 my_list .如果是这样,我将它们从 my_list 中删除.

例子:

List<String> my_list包含:[a, b, c, d]

List<String> rand包含:[r, a]

目标:a将从 my_list 中删除

问题:Iterator遍历 my_list搜索字母 r .来信r不在 my_list 中.但不是继续下一个字母 a , iterator退出循环和 a仍然留在 my_list

谁能告诉我为什么我的循环在第一个字母后总是中断?

这是我的代码:

public void removeLetters( List<String> my_list, List<String> rand ) {
Iterator<String> i = my_list.iterator();
for( String s : rand ) {
while( i.hasNext() ) {
Object o = i.next();
if( o.toString().equals( s ) ) {
i.remove();
i = my_list.iterator();
break;
}
}
}
}

我希望我对我的问题的解释足够好。如果我需要更详细地解释,请告诉我。

谢谢

最佳答案

尝试在 for 循环中创建 Iterator

for(String s : rand) {
Iterator<String> i = my_list.iterator();
while(i.hasNext()) {
...
}
}

关于java - 迭代器不循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27276623/

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