首页 > 社交 > 科普中国

击破百度、腾讯、阿里招聘套路!这份面试干货请收下

常驻编辑 科普中国 2022-12-15 干货   腾讯   阿里   编译器   重写   数组   套路   线程   字节   抽象   元素   接口   区别   对象   过程   语言   类型   关系   方法   科技
Rlq拜客生活常识网

ArrayList、LinkedList和Vector是三个主要的实现类。Rlq拜客生活常识网

Map也属于集合系统,但和Collection接口没关系。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是value可以重复。HashMap、TreeMap和Hashtable是三个主要的实现类。Rlq拜客生活常识网

SortedSet和SortedMap接口对元素按指定规则排序,SortedMap是对key列进行排序。Rlq拜客生活常识网

HashMap实现原理Rlq拜客生活常识网

HashMap基于hashing原理,通过put()和get()方法储存和获取对象。当将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,然后找到bucket位置来储存值对象。Rlq拜客生活常识网

当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。Rlq拜客生活常识网

HashMap使用LinkedList来解决碰撞问题,当发生碰撞了,对象将会储存在LinkedList的下一个节点中。HashMap在每个LinkedList节点中储存键值对对象。Rlq拜客生活常识网

当两个不同的键对象的hashcode相同时会发生什么?它们会储存在同一个bucket位置的LinkedList中。键对象的equals()方法用来找到键值对。Rlq拜客生活常识网

HashTable实现原理Rlq拜客生活常识网

和HashMap一样,Hashtable 也是一个散列表,它存储的内容是键值对(key-value)映射。Rlq拜客生活常识网

Hashtable 继承于Dictionary,实现了Map、Cloneable、java.io.Serializable接口。Rlq拜客生活常识网

Hashtable 的函数都是同步的,这意味着它是线程安全的。它的key、value都不可以为null。Rlq拜客生活常识网

此外,Hashtable中的映射不是有序的。Rlq拜客生活常识网

Rlq拜客生活常识网

HashMap和HashTable区别Rlq拜客生活常识网

1).HashTable的方法前面都有synchronized来同步,是线程安全的;HashMap未经同步,是非线程安全的。Rlq拜客生活常识网

2).HashTable不允许null值(key和value都不可以) ;HashMap允许null值(key和value都可以)。Rlq拜客生活常识网

3).HashTable有一个contains(Objectvalue)功能和containsValue (Objectvalue)功能一样。Rlq拜客生活常识网

4).HashTable使用Enumeration进行遍历;HashMap使用Iterator进行遍历。Rlq拜客生活常识网

5).HashTable中hash数组默认大小是11,增加的方式是old*2+1;HashMap中hash数组的默认大小是16,而且一定是2的指数。

相关阅读:

  • 法治日报:观众收视权益不容“注水”
  • 鱼干怎么做好吃(干货小黄鱼的家常做法)-冻黄花鱼怎么
  • 小岳岳颜值回春?直播间里开美颜磨皮瘦脸太夸张,网友直呼
  • 3年短视频运营复盘:有趣重要还是有料重要?
  • 简单聊一聊康普顿效应
  • 最好的旅行自行车,就是你已有的那台,大神实战干货分享
  • 去了N次外伶仃岛,我懂了!!!全是干货总结
  • 女人怎样才能变得更美!干货分享给你!(二)
  • 「技术干货」Linux内核代码追踪之UDP调用过程
  • 智艺考艺考干货
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。