想知道是否有一種方法可以爲HashMap中的每個元素獲取唯一的整數鍵。我已經考慮了hashCode(),但實現了唯一的密鑰並不能保證。可以使用各種算法編寫單獨的程序,但在Java中尋找一些內置解決方案的輕量級。 HashMap將有最多100個元素。有沒有辦法獲得HashMap <String,String>中元素的唯一int鍵?
0
A
回答
2
如果你只是需要一個唯一的ID您可能使用LinkedHashMap
其(Javadoc中)定義了迭代順序,這通常是在哪個鍵被插入到地圖(插入順序)順序,如果您之後獲得keySet
,則可以構建一個ArrayList
,然後使用該List
的索引作爲您的唯一標識。
0
查看Apache Commons中的HashCodeBuilder。這與你將要獲得的結果差不多 - 你只需要指定你想要的哈希值就可以考慮到。什麼可能使它適用於你,你可以添加任何東西,包括你選擇的常量 - 所以如果你想添加地圖索引或任何你能想到的保證唯一性的東西,你可以。
Their documentation here has a pretty good example.
這只是超級靈活的,所以它應該使這更容易,無論如何!
相關問題
- 1. 從ArrayList中獲取元素<HashMap <String,HashMap <String,String >>>
- 2. 有沒有辦法獲得python/selenium中另一個元素的元素?
- 3. 有沒有辦法從一個元素獲得SlickGrid的實例
- 4. 有沒有辦法獲得唯一的計算機ID?
- 5. 有沒有什麼辦法從hashmap中獲得單個值?
- 6. 有沒有辦法「旋轉」ImmutableMap <String,ImmutableSet <String>>?
- 7. 有沒有辦法獲得元素的HTML?
- 8. 有沒有更好的方法來實現HashMap <String,List <HashMap <String,List <Details> >>>?
- 9. 有沒有什麼辦法可以在實現ManyToMany關聯時獲得列表中的唯一元素?
- 10. 有沒有辦法通過它的名字獲得一個ArrayList元素?
- 11. 有沒有辦法從FutureTask獲得Callable?
- 12. ArrayList <HashMap <String,String >>沒有值
- 13. 有沒有辦法像獲得鼠標位置一樣輕鬆獲得按鍵
- 14. iOS:有沒有辦法獲得視圖中每個元素的backgroundColor?
- 15. 有沒有辦法獲得SASS中當前元素的設置寬度?
- 16. 有沒有辦法從元素中獲得應用的輸入掩碼?
- 17. 有沒有辦法獲得數組中元素出現的最高次數?
- 18. 有沒有辦法將Func <T, string>轉換爲Func <dynamic,string>?
- 19. 有沒有辦法斷言一個元素沒有類?
- 20. 有沒有辦法動態創建<rich:tab>元素?
- 21. 有沒有辦法讓元素在GTM
- 22. 如何從HashMap <String,String>中獲得密鑰的列表<String>?
- 23. ShareKit - SHKFacebook:有沒有辦法獲得authorization_token?
- 24. 有沒有辦法得到一個<button>元素鏈接到一個位置,而在<a href ... tag?
- 25. 構造函數ArrayAdapter <ArrayList <HashMap <String,String >>>(Context,int,ArrayList <HashMap <String,String >>)未定義
- 26. 當元素被另一個元素覆蓋時,有沒有辦法獲得一個mouseover事件?
- 27. HBase有沒有辦法讓我獲得一個區域的中鍵?
- 28. 有沒有辦法獲得相對於vewport底部的元素位置?
- 29. 有沒有辦法獲得單元格的字幕長度(detailedTextLabel)?
- 30. 有沒有辦法找出某個元素重疊的元素?
搜索「完美散列函數」。一般來說,如果不知道輸入信息就無法知道。它通常也不適用於具有不同容量並應用次散列函數的HashMap。這是一件好事,HashMap也使用「equals」 - 散列碼僅用於初始桶選擇。 – user2864740
這聽起來像一個XY問題。 *爲什麼*你想要一個整數鍵? – chrylis
@chrylis它具有嵌入在其中已經使用SparseArray(SparseBooleanArray)的代碼中,不幸的是SparseArray要求整數作爲密鑰。給你更多的細節條目會像的HashMap(「巴黎」,「------------」),並在sparseArray狀態將使用INT鍵 – Girish