![](https://img-blog.csdnimg.cn/20210724223843967.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
面试题
关于一些面试题和面试题答案
LatteCK
想要的东西都很贵,只能不断地努力奔跑
同是风华正茂,怎可甘拜下风
展开
-
说一下HashMap的Put方法
说一下HashMap的Put方法1、根据Key通过哈希算法与运算得出数组下标2、如果数组下标位置元素为空,则将key和value封装为Entry对象(JDK1.7中是Entry对象,JDK1.8中是Node对象)并放入该位置3、如果数组下标位置不为空,分情况讨论a.如果是JDK1.7,则先判断是否需要扩容,如果需要扩容就进行扩容,如果不需要扩容就生成Entry对象,并使用头插法添加到当前位置的链表中b.如果是JDK1.8,则会先判断当前位置上的Node的类型,看是红黑树Node,还是链表N原创 2021-07-25 00:51:59 · 284 阅读 · 0 评论 -
说一下ArrayList和LinkedList的区别
说一下ArrayList和LinkedList的区别1、首先,他们的底层实现数据结构的不同,ArrayList底层是基于数组的,LinkedList的底层是基于链表实现的2、. 由于底层数据结构的不同。他们所适用的场景也不一样,ArrayList由于基于数组实现的更适合随机查找,LinkedList由于基于链表实现的更适合于添加和删除,他们二者是查询。添加。删除的时间复杂度也不一样操作ArrayListLinkedList读取get()根据下标直接查询,复杂度为O(1遍历获取原创 2021-07-24 23:33:27 · 210 阅读 · 0 评论