Java - Difference between HashMap and HashSet in Java

http://javarevisited.blogspot.de/2011/09/difference-hashmap-vs-hashset-java.html

Because sometimes I can't open this page without proper proxy configuration, so I have to copy some content here.


Both HashMap and HashSet are part of collection framework which allows us to work with collection of objects.

Collection Framework has their own interfaces and implementation classes. Basically collection is divided as Set Interface, List and Queue Interfaces. All this interfaces have their own property apart from what they get from collection. For example, Set allows Collection of objects but forbids duplicate value, List allows duplicate along with indexing. Queue woks on FCFS algorithm.


What is HashSet in Java?

HashSet is implementation of Set Interface which does not allow duplicate value. All the methods which are in Collection Framework are also in Set Interface by default, but when we are talking about Hashset the main thing is that objects which are going to be stored in HashSet must override equals() and hashCode() method, so that we can check for equality and no duplicate value are stored in our set. If we have created our own objects we need to implement hashCode() and equal() in such a manner that will be able to compare objects correctly when storing in a set so that duplicate objects are not stored, if we have not override this method objects will take default implementation of this method.

public boolean add(Object o)  Method is used to add element in a set which returns false if it’s a duplicate value, otherwise returns true if added successfully.

What is HashMap?

HashMap is a implementation of Map Interface, which maps a key to value. Duplicate keys are not allowed in a map. Basically map Interface has two implementation classes: HashMap and TreeMap. The main difference is TreeMap maintains order of the objects but HashMap will not. HashMap allows null values and null keys. HashMap is not synchronized, but collection framework provide methods so that we can make them synchronized if multiple threads are going to access our hashmap and one thread is structurally change our map.

public Object put(Object Key,Object value) method is used to add element in map.

Difference between HashSet and HashMap in Java


Hash Map
Hash Set
HashMap  is a implementation of Map interface
HashSet is an implementation of Set Interface
HashMap Stores data in form of  key value pair
HashSet Store only objects
Put method is used to add element in map
Add method is used to add element is Set
In hash map hashcode value is calculated using key object
Here member object is used for calculating hashcode value which can be same for two objects so equal () method is used to check for equality if it returns false that means two objects are different.
HashMap is faster than hashset because unique key is used to access object
HashSet is slower than Hashmap


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值