返回人口最多的城市名称

时间:2017-04-06 23:15:18

标签: java arraylist

返回类型是“ProvinceTerritory”。 这是班级名称 getPopulation()和getName()是ProvinceTerritory类中的访问器。 各省也是ArrayList的名称,其中包含所有城市及其人口。我正在尝试使用forach循环找到最大数量,然后让程序返回该单元格的名称。

public ProvinceTerritory getHighestPopulation(){
int max = provinces.get(0).getPopulation();
for(ProvinceTerritory pt3 : provinces){
    if(pt3.getPopulation() > max){
        max = pt3.getPopulation();
    }

}
return ??;
}

2 个答案:

答案 0 :(得分:0)

您需要跟踪人口最多的ProvinceTerritory,以便您可以将其返回。

public ProvinceTerritory getHighestPopulation(){
    int max = provinces.get(0).getPopulation();
    ProvinceTerritory result = provinces.get(0);
    for(ProvinceTerritory pt3 : provinces){
        if(pt3.getPopulation() > max){
            max = pt3.getPopulation();
            result = pt3;
        }
    }
    return result;
}

答案 1 :(得分:0)

不记得最大人口,请记住最大人口的ProvinceTerritory

public ProvinceTerritory getHighestPopulation() {
    ProvinceTerritory max = null;
    for (ProvinceTerritory pt3 : provinces)
        if (max == null || pt3.getPopulation() > max.getPopulation())
            max = pt3;
    return max;
}

或Java 8 Stream版本:

public ProvinceTerritory getHighestPopulation() {
    return provinces.stream()
                    .max(Comparator.comparingInt(ProvinceTerritory::getPopulation))
                    .orElse(null);
}