在java面试过程中,Map时常会被作为一个面试点来问,今天就在这里整理总结一下
- 首先回顾一下集合体系
- 集合面试过程中,对于单列集合经常会被问到List和set的区别
- list集合元素有序并且集合元素可以重复
- set集合元素无序并且集合元素不允许重复
- 集合面试过程中,对于单列集合经常会被问道Arraylist和Linkedlist的区别
- Arraylist底层数据结构为数组,所以有索引,查询速度比较快但是增删速度比较慢
- LinkedList底层数据是双向链表,所以没有索引,查询速度比较慢,但是增删比较快
- 集合面试过程中,对于单列集合经常会被问到List和set的区别
- HashMap
- HashMap的put方法(保证key的唯一性)
- Hashmap在put的数据的时候,在底层代码中会先通过判断put的值的key是否为null,如果为null,会固定存放到table[0]下面,如果不为null,会通过hash()方法计算出key对应的hash地址,通过hash地址去寻找数据应存放的table的指定索引下,找到之后会判断put的key在链表中是否存在(地址值和具体值都要判断)如果存在则为替换,如果不存在则为新增;
- JDK1.8的Hashmap和1.7的区别
相关文章
暂无评论...