迭代器返回列表

时间:2014-01-05 21:09:06

标签: java list foreach iterator

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

List<Apples> a1 = new List<Apples>();
if(a1.iterator().next().equals("XYZ")
{
   return a1.iterator().next().getFruits();
}

2 个答案:

答案 0 :(得分:2)

可能你想实现以下

List<Apples> apples = new List<Apples>();
for(Apple a : apples) {
 if("xyz".equals(a.getSomethingWhatReturnsString())) return a.getFruits();
}

答案 1 :(得分:1)

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

if (a1.get(0).equals("XYZ")) {
    return a1.get(0).getFruits();
}

当然,如果您打算遍历列表中的所有元素,那么您在此处缺少for。此外,您的代码将无法正常工作:它是 apples 的列表,您无法将苹果与字符串进行比较!也许您的意思是这样,将getStringAttribute()替换为您要与"XYZ"进行比较的相应属性:

for (Apple a : a1) {
    if ("XYZ".equals(a.getStringAttribute())) {
        return a.getFruits();
    }
}