亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將數組轉換為 LinkedList

將數組轉換為 LinkedList

幕布斯6054654 2022-05-12 18:23:24
我想將以下代碼從數組轉換為任何其他方式(最重要的是有效),這意味著有無限的空間,我不必設置數組的長度。如何才能做到這一點?如何設置無限城市?使用鏈表這個想法是可以定義存儲某些城市的某個國家(城市名稱,市中心,中央汽車站,...... - 如下圖所示) - 在我的代碼中 MAX_NUM_CITIES = 1000;
查看完整描述

1 回答

?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

如果長度是,我會遠離數組:

  • 未知

  • 可以換

List我建議使用JDK的不同實現之一ArrayList,特別是LinkedList.

第一個使用一個內部數組,如果添加一個元素,它可能會被擴展,并且會導致數組太?。ㄋ约和瓿蛇@一切,所以不用擔心)。

第二個是節點列表,這意味著對于您添加的每個元素,都會將一個新的(內部)節點對象附加到最后一個節點。

您當然必須為此更改代碼。

  1. 將您定義_citiesList<City>private List<City> _cities

  2. 在構造函數中使用所需的實現對其進行初始化:_cities = new ArrayList<>();_cities = new LinkedList<>();

  3. 在您的 add 方法中,您只需調用:_cities.add(new City(cityName, XcityCenter, YcityCenter, XStationPoint, YStationPoint, numOfResidents, numOfNeighborhoods));

  4. 在您的getNumOfResidents文件中,您可以使用以下代碼段(它使用 Java 8 中引入的 Java 流式處理 API):

    return _cities.stream()
        .mapToLong(City::getNumOfResidents)
        .sum();
  5. 因為getCities()您必須將返回類型更改為List<City>并使用以下內容:return new ArrayList<>(_cities)return new LinkedList<>(_cities)取決于您要使用的實現。


查看完整回答
反對 回復 2022-05-12
  • 1 回答
  • 0 關注
  • 254 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號