嘿,我尝试将我的所有ForEachs都转换为ForLoops,因为我现在正在使用链接列表。
由于某种原因,我遇到了麻烦!任何人都可以将forE隐藏到forLoop中
public String listCounty(String county) {
boolean matchFound = false;
int i = 0;
String displayPropertys = "All Propertys";
for (Property item : house) {
if (item.getGeneralLocation().equals(county)) {
displayPropertys += "\n" + i++ + item;
i++;
matchFound = true;
} else i++;
}
if (!matchFound)
return "No propertys for this County";
else
return displayPropertys;
}
}
最佳答案
您应该可以使用以下方法进行操作。
for(int index = 0; index < house.size(); index++)
{
Property item = house.get(index);
// Your code goes here
}
现在我们有了for循环的索引,因此也不需要i变量。
public String listCounty(String county) {
boolean matchFound = false;
String displayPropertys = "All Propertys";
for (int index = 0; index < house.length; index++) {
Property item = house.get(index)
if (item.getGeneralLocation().equals(county)) {
displayPropertys += "\n" + (index + 1) + item;
matchFound = true;
}
}
if (!matchFound)
return "No propertys for this County";
else
return displayPropertys;
}
您还可以使用Elliot建议的迭代器。这将为您提供更好的性能,但更难阅读。
Iterator<Property> iterator = house.iterator();
for (int index = 0; iterator.hasNext(); index++) {
Property item = iterator.next();
// Your code goes here
}