gpt4 book ai didi

java - 从方法返回迭代器

转载 作者:行者123 更新时间:2023-11-30 07:44:46 25 4
gpt4 key购买 nike

当从方法 removeTwos() 返回时,我似乎无法打印 Iterator 中的元素。我试图从列表中删除只有两个字符的元素。

public class Main {

public static void main(String[] args) {

// write your code here
List<String> list = new ArrayList<>();
list.add("hi");
list.add("what");
list.add("who");
list.add("ok");

System.out.println(removeTwos(list));
}

public static String removeTwos(List<String> stringList) {

Iterator<String> itr = stringList.iterator();
for(int i = 0; i < stringList.size(); i++) {
if(itr.hasNext() && itr.next().length() == 2) {
itr.remove();
System.out.println(itr.toString());
}
}
return itr.toString();
}
}

谢谢。

最佳答案

问题是:您根本不需要 Iterator 来完成您想要做的事情。您可以使用列表的方法逐项搜索列表中的每一项。

试试这段代码,看看它是否适合你:

public class JavaApplication255 {

public static void main(String[] args) {
// write your code here
List<String> list = new ArrayList<>();
list.add("hi");
list.add("what");
list.add("who");
list.add("ok");

removeTwos(list);
System.out.println(list);
}

public static void removeTwos(List<String> stringList){

for(int i = stringList.size() - 1; i >= 0 ; i--){
String string = stringList.get(i);

if (string.length() == 2){
stringList.remove(string);
}
}
}
}

关于java - 从方法返回迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52303431/

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