谷歌搜索沒有幫助我,所以我來到這裏。 String中int hash32()
方法的用法是什麼?顧名思義,它看起來像是一些散列,但它是如何以及在何處使用的?什麼是在String類中使用hash32()?
0
A
回答
5
答案是對的here。這裏有一些選擇片段:
的Java SE 7u6引入了改進,備選哈希函數...
的備選哈希函數提高了這些地圖的實現性能遇到了大量關鍵哈希衝突的時候。
備選散列函數僅適用於String類型的鍵。
如前所述通過@Slanec,爪哇8作了一些修改HashMap
對於重碰撞性能下降減少到O(LG N),而不是爲O(n)爲Comparable
鍵,所以不再需要替代String
哈希。
+2
不奇怪。他們在「HashMap」更聰明後將其刪除。現在,它可以將具有重複哈希的條目鏈接到紅黑樹中,而不是簡單的鏈接列表。這解決了性能問題,因此不再需要'hash32()'。 –
+0
@Slanec哦,這很有趣。我意識到,Java 8的'HashMaps'在可能的情況下在發生大量衝突時使用了樹,但我不知道這是替代散列被刪除的原因。每天學些新東西... – awksp
相關問題
- 1. 什麼是String類內部?
- 2. 爲什麼String類是final?
- 3. 什麼是String類型
- 4. Main類中的「string [] args」是什麼?
- 5. 爲什麼不在String中使用Java?
- 6. 什麼是java中的「String ...」?
- 7. 爲什麼使用char []而不是String?
- 8. Parsec String()(String,String)是什麼意思?
- 9. 爲什麼String是一個類?
- 10. 在C++中'System :: String ^'是什麼意思?
- 11. 在Ruby中,array * string是什麼意思?
- 12. 爲什麼PasswordField在Vaadin中使用String而不是char []?
- 13. 如果String是引用類型,爲什麼類型String的Type.IsByRef返回false?
- 14. 這是什麼類型(Swift)? var something = [(item1:String,item2:Float,item3:[String])]()
- 15. <String,String>是什麼意思?
- 16. VB6:「string = string * integer」是做什麼的?
- 17. string = string + int:背後是什麼?
- 18. JavaScript中使用(-'string'.length)做什麼
- 19. 爲什麼javax.sql包中的類使用新的String(str)?
- 20. 什麼是List [String〜Int]?
- 21. @string&@ + id是什麼意思?
- 22. 什麼是JAXBContext newInstance(String contextPath)?
- 23. string :: npos是什麼意思?
- 24. 什麼是socket.emit(object,string)?
- 25. 在Powershell中,什麼樣的數據類型是[string []]以及什麼時候使用它?
- 26. 使用Directory.GetDirectories(「c:\\」)時,爲什麼不能使用List <string>而不是string []?
- 27. 在庫類(std :: string)上使用memset時,「未定義行爲」是什麼原因?
- 28. 什麼是string array [] =「」;是什麼意思?爲什麼它有效?
- 29. NSAttributed String的用途是什麼?
- 30. 「String ...」的正確用法是什麼
標準[java.lang.String](http://docs.oracle.com/javase/8/docs/api/java/lang/String.html)沒有這樣的功能,至少沒有公開的功能。 – Philipp
你在什麼版本的Java?如果內存服務,'hash32()'只在某些版本的Java ... – awksp
@ user3580294:1.7.0(七)。 –