回答
我能想起來,目前的API中最接近的事是LinkedHashSet
:
從http://java.sun.com/j2se/1.4.2/docs/api/java/util/LinkedHashSet.html:
的哈希表和鏈接列表實現Set接口,具有可預知迭代順序。
我懷疑它可能做你想做的。基本上,即使在修改列表的順序之後,您也希望在固定時間內查找索引。除非你允許刪除/重新排序操作佔用O(n)時間,否則我相信你不能低於O(log n)(這可以通過堆結構實現)。
這可能是一個不錯的選擇。我只需要檢查這個鏈接/哈希實現的開銷。我其實需要一些非常小巧而高效的東西。 – Roman 2010-05-20 10:02:05
我可以看到,以滿足訂貨和的唯一方法O(1)的訪問是複製在List
數據和索引的陣列(包裝在一個可愛的小OrderedEnumSet
,當然)。
如果我從列表中間刪除某些東西,我將不得不更新O(n)中的索引數組,否? – aioobe 2010-05-20 09:53:33
- 1. 高效的目錄結構
- 2. 產品目錄的高效mysql查詢
- 3. Python中高效的目錄樹
- 4. EnumSet - 移動路口的有效方法
- 5. EnumSet parcelable
- 6. EnumSet在Java
- 7. 如何在Python 2.7中高效且優雅地創建目錄和子目錄?
- 8. AbstractActions的Enumset包裝
- 9. 無效JAVA_HOME目錄
- 10. 有效地目錄
- 11. 高效的python函數查找目錄的大小
- 12. Ruby on Rails:在lib /目錄中高效使用類
- 13. 如何高效查找包含某個文件的目錄(非)
- 14. 如何高效地獲取子目錄和文件
- 15. 更高效的獲取目錄大小的方法
- 16. 我怎樣才能高效地獲得新的目錄與CVS?
- 17. Java EnumSet語法幫助
- 18. 高級目錄保護
- 19. 檢查是否使用EnumSet
- 20. 高效觀點
- 21. RStudio,目錄名稱無效
- 22. 550目錄名稱無效
- 23. 文檔目錄無效
- 24. Path.GetTempFileName - 目錄名稱無效
- 25. drawable-540x960目錄名無效
- 26. 網站目錄無效?
- 27. CS0016:目錄無效錯誤
- 28. Tomcat無效的lib目錄
- 29. Java的EnumSet類似於「typedef」
- 30. 在休眠中映射EnumSet
你試圖保存什麼命令?您將值插入集合的順序? – 2010-05-20 09:41:01
重要的是,你是否也想要Set的另一個值得注意的屬性,即它不允許重複?這將對首選解決方案產生重大影響。 – DJClayworth 2010-05-20 13:23:43