1.线性探测法
就是当要插入的行号发生冲突时,往下一个行号存放哈希值,直到没有冲突。
2.分离链接法
就是将一个行号做成链表的形式,如果有这个行号的冲突便新建一个节点将其插入这个行号的链表中。
在Mahout中,FastByIDMap是基于散列的,但它在处理散列冲突时使用的是线性探测,而非分离链接。因为线性探测不必为每个条目新增加一个额外的Map.Entry对象,节省了内存开销;在数据规模很庞大的时候,这种优势更加体现得出来。
做个小推广:程序员经常久坐,颈椎毛病比较多,特别推荐ventry颈椎保健枕