嘿,我尝试将我的所有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
}

10-08 09:36