1 回答
TA贡献1869条经验 获得超4个赞
如果长度是,我会远离数组:
未知
可以换
List我建议使用JDK的不同实现之一ArrayList,特别是LinkedList.
第一个使用一个内部数组,如果添加一个元素,它可能会被扩展,并且会导致数组太小(它自己完成这一切,所以不用担心)。
第二个是节点列表,这意味着对于您添加的每个元素,都会将一个新的(内部)节点对象附加到最后一个节点。
您当然必须为此更改代码。
将您定义
_cities为List<City>:private List<City> _cities在构造函数中使用所需的实现对其进行初始化:
_cities = new ArrayList<>();或_cities = new LinkedList<>();在您的 add 方法中,您只需调用:
_cities.add(new City(cityName, XcityCenter, YcityCenter, XStationPoint, YStationPoint, numOfResidents, numOfNeighborhoods));在您的
getNumOfResidents文件中,您可以使用以下代码段(它使用 Java 8 中引入的 Java 流式处理 API):return _cities.stream() .mapToLong(City::getNumOfResidents) .sum();
因为
getCities()您必须将返回类型更改为List<City>并使用以下内容:return new ArrayList<>(_cities)或return new LinkedList<>(_cities)取决于您要使用的实现。
添加回答
举报
