key的hash & (數組length - 1)
,由於length
是2^n
,轉換成二進制後2^-1
最低位就全部都是1
,比如111
,就相當於是數組長度的掩碼,那麼hash & 111
就可以將數組的每一位都覆蓋,加入數組長度不是2^n
,那麼length-1
低位不全是1
,比如101
,那麼hash & 101
就會出現數組有的位置永遠都不會有值。key的hash & (數組length - 1)
,由於length
是2^n
,轉換成二進制後2^-1
最低位就全部都是1
,比如111
,就相當於是數組長度的掩碼,那麼hash & 111
就可以將數組的每一位都覆蓋,加入數組長度不是2^n
,那麼length-1
低位不全是1
,比如101
,那麼hash & 101
就會出現數組有的位置永遠都不會有值。https://github.com/zhangbo2008/Trie_with_informationExtraction_and_fuzzy_matchingv2