hashmap和hashset的区别和分析(HashMap和HashSet的不同之处简介说明)
导读:下文笔者将从HashMap及HashSet的概念着手处理其不同之处,如下所示:...
下文笔者将从HashMap及HashSet的概念着手处理其不同之处 ,如下所示:
HashMap和HashSet区别
HashSet的简介HashSet实现Set接口
HashSet中的内容不允许有重复的值
当我们使用HashSet之前
需确保对象重写equals()和hashCode()方法
然后比较对象的值是否相等
以确保set中没有储存相等的对象
当没有重写这两个方法 ,将会使用这个方法的默认实现 HashMap的简介HashMap实现了Map接口
Map接口对键值对进行映射
Map中不允许重复的键key
Map接口有两个基本的实现 ,HashMap和TreeMap
TreeMap保存了对象的排列次序 ,而HashMap则不能
HashMap允许键和值为null
HashMap是非synchronized的
但collection框架提供方法能保证HashMap synchronized
这样多个线程同时访问HashMap时 ,能保证只有一个线程更改Map
添加元素的方法
public Object put(Object Key,Object value)
根据以上的简介说明,我们可以得出HashSet和HashMap的区别
HashMap HashSet HashMap实现了Map接口 HashSet实现了Set接口 HashMap储存键值对 HashSet仅仅存储对象 使用put()方法将元素放入map中 使用add()方法将元素放入set中 HashMap中使用键对象来计算hashcode值 HashSet使用成员对象来计算hashcode值,对于两个对象来说hashcode可能相同,所以equals()方法用来判断对象的相等性 ,如果两个对象不同的话 ,那么返回false HashMap比较快,使用唯一的键来获取对象 HashSet较HashMap来说比较慢
声明:本站所有文章 ,如无特殊说明或标注 ,均为本站原创发布 。任何个人或组织 ,在未征得本站同意时 ,禁止复制 、盗用 、采集 、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益 ,可联系我们进行处理 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!