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)
取決于您要使用的實現。
添加回答
舉報