亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 HashSet 不能直接在內部使用位數組而不是 HashMap 來節省一些空間?

為什么 HashSet 不能直接在內部使用位數組而不是 HashMap 來節省一些空間?

一只斗牛犬 2022-12-21 10:09:56
我看到 Java 中的 HashSet 在內部使用 HashMap 來檢查 HashSet 是否包含元素。它不能只使用位圖來存儲字符串的所有哈希結果嗎?例如。字符串 abc 散列為 12 個索引,我們可以設置此索引以表明它存在。與 HashMap 相比,它會節省大量空間,因為我們不必在數據中存儲實際的鍵。
查看完整描述

1 回答

?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

如果 HashSet 僅用于 contains() 查找,那么這樣的優化是可能的。它仍然很危險,因為散列沖突總是會發生。我認為您正在尋找的是布隆過濾器(請注意,布隆過濾器不會給出確切的答案,它只是排除漏報)。

Hash Set 是一個集合,集合需要有可能檢索存儲的值。哈希是不可逆的,你不能從它的哈希中計算出原始字符串。


查看完整回答
反對 回復 2022-12-21
  • 1 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號