面试
文章平均质量分 84
慕齐、睿哥
这个作者很懒,什么都没留下…
展开
-
HashMap的put方法在JDK1.7和JDK1.8区别
HashMap的Put方法的大体流程JDK1.7中HashMap是由数组加链表实现的JDK1.8中HashMap是由数组加链表加红黑树实现的1. 调用put方法通过put传进来的key,再经过哈希算法得到hashcode,hashcode通过与运算进行数组减1,得出数组下标。2. 如果此时数组下标位置元素为空则将key和value封装为Entry对象(JDK1.7中是Entry对象,JDK1.8中是Node对象)并放入当前数组下标的位置,从而key和value存到了HashMap中。3. 如果原创 2022-03-22 11:42:20 · 1314 阅读 · 1 评论 -
ArrayList 和 LinkedList 的区别
1. 首先,他们的底层结构不同。ArrayList 底层是基于数组实现的,ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。LinkedList 底层是基于链表实现的,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。正因为底层数据结构的不同,他们适用的场景不同,ArrayList 更适合随即查找,LinkedList 更适合删除和添加,查询、添加、删除的时间复杂度不同。2. ArrayList原创 2022-03-21 17:29:00 · 26944 阅读 · 0 评论