Java基础-hashMap的相关问题
2017-06-19 08:39
246 查看
知识储备-Java基础
网址来源:
http://www.nowcoder.com/discuss/5949?type=0&order=0&pos=4&page=2
参考资料:(Java方面的一些面试答案)
http://www.nowcoder.com/discuss/6890?type=0&order=0&pos=29&page=1
http://www.nowcoder.com/discuss/7342
一:java基础
1、java 集合类问题
2、 hashMap相关问题
2.1 HashMap的实现原理?
回答主要是三个方面:(1)hashmap的基本原理 (2)hashmap的put存源码解读 (3)hashmap的get取源码解读
hashmap是基于hash算法的key-value键值对,通过key可以快速的找到value值,解决了数组的增加和删除以及链表的查询效率低的问题。
public V put(K key, V value) {
if (key == null)//如果key为空,调用putForNullKey()处理
return putForNullKey(value);
int hash = hash(key);//通过key值获得hash码(看hash函数,是通过右移位,这种方式使数据散列均匀)
//通过indexFor()获得对应table中的索引
int i = indexFor(hash, table.length);//源码采用&的方式
//取出table表中的元素,并循环单链表,判断key是否存在
for (Entry
网址来源:
http://www.nowcoder.com/discuss/5949?type=0&order=0&pos=4&page=2
参考资料:(Java方面的一些面试答案)
http://www.nowcoder.com/discuss/6890?type=0&order=0&pos=29&page=1
http://www.nowcoder.com/discuss/7342
一:java基础
1、java 集合类问题
2、 hashMap相关问题
2.1 HashMap的实现原理?
回答主要是三个方面:(1)hashmap的基本原理 (2)hashmap的put存源码解读 (3)hashmap的get取源码解读
hashmap是基于hash算法的key-value键值对,通过key可以快速的找到value值,解决了数组的增加和删除以及链表的查询效率低的问题。
public V put(K key, V value) {
if (key == null)//如果key为空,调用putForNullKey()处理
return putForNullKey(value);
int hash = hash(key);//通过key值获得hash码(看hash函数,是通过右移位,这种方式使数据散列均匀)
//通过indexFor()获得对应table中的索引
int i = indexFor(hash, table.length);//源码采用&的方式
//取出table表中的元素,并循环单链表,判断key是否存在
for (Entry
相关文章推荐
- Java语言基础相关问题
- Java基础之hashMap相关知识
- 面试相关的技术问题---java基础
- java基础解析系列(五)---HashMap并发下的问题以及HashTable和CurrentHashMap的区别
- Java基础学习总结——Map使用相关问题总结
- 编程基础知识——Java相关的“编码”问题
- java基础解析系列(五)---HashMap并发下的问题以及HashTable和CurrentHashMap的区别
- java相关有趣的基础问题
- java基础相关--String类相关问题(面试大多数会问到)
- java基础问题(2)——HashMap
- Java基础学习总结(116)——Map使用相关问题总结
- Java基础拾遗:线程相关问题
- 黑马程序员 java基础 监听事件相关问题学习日志
- java基础之问题:请说出hashCode方法、equals方法、HashSet、HashMap之间的关系
- JAVA相关基础知识(转载)
- Java新手上路大全 (一般的基础问题在此找)
- JAVA相关基础知识
- JAVA相关基础知识
- JAVA相关基础知识---2
- JAVA相关基础知识(6)