Java 返回列表的迭代器
我试图在增强for循环的帮助下实现这一点,但我的问题是,如果我在下面的示例中使用迭代器,如何确保我的返回类型拾取对应的“XYZ”值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()
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();
}