HashMap

作者: zsj0310 | 来源:发表于2017-04-26 17:32 被阅读0次

    HashMap本质是哈希表,通过k-v存储数据,映射关系通过哈希函数构造。

    哈希函数的实现方式

    1.直接定址法:取关键字的线性函数值作为哈希地址。
    2.数组分析法:取关键字中的若干位作为哈希地址。
    3.平方取中法:取关键字平方后的中间几位作为哈希地址。
    4.折叠法:将关键字分割成位数相同的几部分,然后这几部分叠加作为哈希地址。
    5.除留余数法(常见)
    6.随机函数法

    能够解决哈希冲突的方法

    哈希冲突:若干个key对应相同的哈希地址。
    解决方法:
    1.开放地址法
    2.链地址法:将所有哈希地址冲突的记录存储在同一个线性链表中。
    3.公共溢出区法:将所有哈希地址冲突的记录都填入到溢出表中。
    4.再哈希法

    HashMap的遍历

    Map map = new HashMap();
    Iterator iterator = map.entrySet().iterator();
    while(iterator.hasNext()){
    Entry entry  = (Entry)iterator.next();
    Object key = entry.getKey();
    Object value = entry.getValue();
    }
    

    相关文章

      网友评论

          本文标题:HashMap

          本文链接:https://www.haomeiwen.com/subject/bctwzttx.html