java中Hashmap和Hashset之间的差异
时间:2020-02-23 14:34:05 来源:igfitidea点击:
HashMap和Hashset之间有什么区别
Hashmap.
HashMap实现映射键映射到值的映射接口。
它不同步,而不是线程安全。
不允许键,允许NULL键以及允许值。
有关更多详细信息,我们还可以阅读HashMap如何在Java中使用。
HashMap<Interger,String> employeeHashmap=new HashMap<Integer,String>(); employeeHashmap.put(1,"Arpit"); employeeHashmap.put(2,"John");
hashset.
HashSet实现设置接口,不允许重复值。
它不同步,而不是Thread Safe.for More详细信息,我们还可以阅读Hashset如何在Java中使用。
HashSet employeeSet=new HashSet(); employeeSet.add("Arpit"); employeeSet.add("Arpit"); employeeSet.add("john");
上面的员工将其中包含2个元素,因为设置不允许重复值。
添加方法用于将元素添加到hashset.if它返回true然后成功添加元素,但如果返回false,则尝试插入重复值。
public boolean add(Object o)
关于Hashset的一个主要目的是我们要在HashSet中添加的对象必须实现HashCode()和equals()方法,以便我们可以检查重复值。
如果我们正在添加自定义对象到散列码,那么我们必须覆盖()覆盖()覆盖()覆盖()覆盖() )和等于()方法根据我们的需要。
如果我们不覆盖,那么对象将采取默认实现,这可能是不可取的。
hashmap vs hashset:
参数 | hashmap | hashset |
---|---|---|
接口 | 这是它们之间的核心差异.hashmap实现地图接口 | hashset实现set接口 |
存储数据的方法 | 它以键 - >值对的形式存储数据。所以它使用Put(key,值)来存储数据 | 它使用添加(值)用于存储数据的方法 |
重复 | hashmap允许重复值但不重复键 | hashset不允许重复值。 |
性能 | 它比哈希集更快,因为值存储唯一键 | 它比hashmap 慢 |
Hashcode计算 | 在哈希映射哈希码值使用key对象 | 在此,基于Value Object.hashcode计算两个值对象的哈希码,所以我们必须实现equals()方法。如果equals()方法返回false那么两个对象是不同的。 |