首页 > 编程语言 > 详细

JAVA常用类型

时间:2019-05-27 19:03:07      阅读:140      评论:0      收藏:0      [点我收藏+]

1、set 去重是调用hashmap 实现。

2、hashmap 底层会维护一个node[] table,table[hash值] 存放key对应的node,node实现了map.entry。node{ hash,key,value,next}

 map .put(),先调用hashcode()生成hash值,若table[hash]为null,说明map中不存在key,则插入node。若table[hash]不为空,则匹配hash值和equals(key),若相同则更新value,不同则继续遍历next node,遍历结束若未匹配到则插入新的node节点。table[hash]为具有形同hash值的node(entry)链表
hash值即为table数组的index,因此可以实现O(1)访问及去重。

3、hashmap 要调用hashcode和equals方法,因此把自定义类作为key,需要重写object类的hashcode()和equals()方法。

JAVA常用类型

原文:https://www.cnblogs.com/csyusu/p/10932029.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!