簡體   English   中英

hashcode() vs toString().hashcode();

[英]hashcode() vs toString().hashcode();

只是試圖討論和理解以下代碼之間的區別。

>

SortedSet<String> set = new TreeSet<>();
set.addAll(str);
int hashcode= set.toString().hashCode();

乙>

SortedSet<String> set = new TreeSet<>();
set.addAll(str);
int hashcode = set.hashCode();

我已經檢查過您是否以任何順序將相同的字符串元素放入兩個集合中,哈希碼返回值將相同。 只是想知道條件 a> 比

第一個片段將集合轉換為字符串(潛在的繁重操作),然后對其進行散列。 第二個直接散列集合。

由於相等的集合會產生相等的字符串和相等的散列,因此兩種方法在技術上都可以,但是首先將集合轉換為字符串(方法a)確實是多余的-使用它沒有任何好處,而您所做的只是浪費資源關於轉換為字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM