hashmap

作者: fk1102 | 来源:发表于2020-02-15 10:33 被阅读0次

1.创建不可变对象,即不在对象中设置set等方法即可
2.往map中push数据的时候,它的hashcode是会改变的
3.当然可以使用任何对象作为键,只要它遵守了equals()和hashCode()方法的定义规则,并且当对象插入到Map中之后将不会再改变了。
4.hashcode相同的数据,是放到链表的上一个节点还是下一个节点
5.默认长度为16
6.多线程情况
8.hashmap和hashtable的比较

  • hashmap可以接受null的键值和null的value
  • hashmap是非synchronized,也就是异步的。

9.为什么String,Integer适合做key

  • 不可变
  • final
  • 重写了equals和hashcode方法

10.普通类也可以作为key,但前提是hashcode在存入和取出的时候必须相同。减少hash碰撞,来提高map的性能

  • 最简单的方法是,这个对象创建好后不能改变,那么它的hash值也不会改变
    11.ConcurrentHashMap比hashtable性能好,但hashtable线程更为安全
    12.通过hashcode来找到bucket位置来储存entry对象

相关文章

网友评论

      本文标题:hashmap

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