Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回列表的迭代器_Java_List_Foreach_Iterator - Fatal编程技术网

Java 返回列表的迭代器

Java 返回列表的迭代器,java,list,foreach,iterator,Java,List,Foreach,Iterator,我试图在增强for循环的帮助下实现这一点,但我的问题是,如果我在下面的示例中使用迭代器,如何确保我的返回类型拾取对应的“XYZ”值 List a1=新列表(); if(a1.iterator().next().equals(“XYZ”) { 返回a1.iterator().next().getFruits(); } 为什么在这里使用迭代器?一个简单的get()就可以了: if (a1.get(0).equals("XYZ")) { return a1.get(0).getFruits()

我试图在增强for循环的帮助下实现这一点,但我的问题是,如果我在下面的示例中使用迭代器,如何确保我的返回类型拾取对应的“XYZ”值

List a1=新列表();
if(a1.iterator().next().equals(“XYZ”)
{
返回a1.iterator().next().getFruits();
}

为什么在这里使用迭代器?一个简单的
get()
就可以了:

if (a1.get(0).equals("XYZ")) {
    return a1.get(0).getFruits();
}
当然,如果您打算遍历列表中的所有元素,那么您将在此处为缺少一个
。此外,您的代码将无法工作:它是一个苹果列表,您无法将苹果与字符串进行比较!也许您的意思是这样的,请替换
getStringAttribute()
具有您想要与之比较的适当属性。
“XYZ”:


可能您想要实现以下功能

List<Apples> apples = new List<Apples>();
for(Apple a : apples) {
 if("xyz".equals(a.getSomethingWhatReturnsString())) return a.getFruits();
}
List apples=新列表();
(苹果a:苹果){
if(“xyz”.equals(a.getSomethingWhatReturnsString())返回a.getFruits();
}

如果我使用get(0),它不总是选择第一个元素吗?@sagar492是的,这正是
a1.iterator().next()的内容
在列表中是否:当您创建一个新的迭代器时,迭代从第一个元素开始。@Keppil否,OP正在创建两个迭代器,它们都将返回第一个元素我需要在列表中迭代,并最终到达与“XYZ”匹配的点当我需要使用具有相同值的getFruits方法时,比如thisa1.getService.iterator.next.equals(“XYZ”),那么我可以使用它吗?
for (Apple a : a1) {
    if ("XYZ".equals(a.getStringAttribute())) {
        return a.getFruits();
    }
}
List<Apples> apples = new List<Apples>();
for(Apple a : apples) {
 if("xyz".equals(a.getSomethingWhatReturnsString())) return a.getFruits();
}