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

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

更改地圖的迭代順序

更改地圖的迭代順序

慕標5832272 2022-12-28 16:21:24
如何以特定的所需順序遍歷 Map?我目前有一個 HashMap 并希望能夠定義特定的迭代順序。訂單應該能夠由用戶更改。我的第一個想法是使用 LinkedHashMap,因為它會給我一個條目順序,但遺憾的是,實現只按插入順序或訪問順序對它們進行排序。除了使用刪除操作插入順序外,我認為 LinkedHashMap 不適合這項任務。Imo 實現有點不符合文檔所說的內容。我還找到了 SortedMap,但它使用了一個比較器,所以每次我想迭代條目時都需要對其進行評估。這可能是一個解決方案,但有點昂貴:O(n*log(n))。到目前為止,Andreas 評論似乎是最好的解決方案,它同時具有 HashMap 和 ArrayList。
查看完整描述

3 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

將 LinkedHashMap 轉換為 ArrayList,然后切換值。然后轉換回 LinkedHashMap。O(n) 的空間和時間復雜度。



查看完整回答
反對 回復 2022-12-28
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

這個問題的正確答案是你使用了不正確的數據結構,這樣你就不必重新排序了。



查看完整回答
反對 回復 2022-12-28
?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

如果您想要一個鍵值對并且希望它具有 ArrayList 的屬性,那么您可以嘗試

List<Pair<String, String>> ?


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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