2
A
回答
3
我不認爲有更好的方法(假設你可以處理鍵/值衝突)。在向表中添加新值(或更新/刪除現有值)時,稍微好一點的方法可能是存儲交換的值,但總體思路是相同的。
+3
當將兩個方向放入同一個表格時,最好在添加/移除鍵/值對時立即更新反轉的對。如果你不這樣做,然後用'pairs'迭代來添加反函數,那麼事情就會中斷。 (你正在向表中添加條目,這可能會觸發一個調整大小,這可能會改變底層存儲條目的順序 - 所以'next' /'pairs'會做一個「醉漢漫步」,跳過元素或遍歷它們幾次如果你忘記了這些,你可以得到一些醜陋的難以發現的錯誤。) – nobody
相關問題
- 1. clojure中的雙向地圖?
- 2. Riak中的雙向地圖
- 3. Qt中是否有任何雙向(雙向)地圖?
- 4. NetworkX中的雙向圖形
- 5. 角谷歌地圖 - 雙向數據在地圖控制
- 6. C#中的雙向/雙向字典?
- 7. 雙向圖算法
- 8. 軌道雙向圖
- 9. java中的併發雙向圖
- 10. 銷燬雙向圖中的加權邊
- 11. 對於雙地圖
- 12. 雙查找地圖
- 13. 中的雙向test_data.yml
- 14. iphone中的地圖方向
- 15. 雙向到VHDL雙向
- 16. OneToOne雙向雙向關聯
- 17. 雙向圖,最短連接?
- 18. 雙向電力在圖
- 19. Java中的雙面(雙向)列表
- 20. subquadratic時間有向圖中的雙向生成樹
- 21. 如何在谷歌流量這樣的小型雙向街道上繪製雙向交通地圖?
- 22. C++製作地圖雙對
- 23. 比較雙打地圖
- 24. 雙擊地圖註釋
- 25. 雙地圖結構實現?
- 26. 從地圖片段中捕獲雙擊
- 27. 使用雙向鏈表實現一個地圖
- 28. 谷歌地圖回調後,Angular2雙向綁定停止工作
- 29. Bing地圖雙向綁定到Center屬性。動畫問題
- 30. Lua中的反向字符串?
爲什麼你需要這樣做?還有其他方法,例如,您可以將兩個表(左側和右側)封裝在具有metatable的表中,並提供確保兩者一致性的方法。或者如果你不需要在右邊快速查找,則可以使用一個表格 –