Online Training Spring Hibernate Training in Delhi R Programming Training Course Big Data and Hadoop Training Java Training  

Java HashSet Collection problem



Share on Google+Share on Google+

Java HashSet Collection problem
1 Answer(s)      6 years and a month ago
Posted in : Java Interview Questions

Here's how the HashSet works. It maintains an array of buckets. When an object is inserted, it finds the appropriate bucket corresponding to the objects HashCode. Then it calls the equals method to compare the equality of objects in the bucket.If an equals returns true with any object of the bucket then the new object is not inserted.

Now Here's the situation. There's a class A. Its equals and hashcode method is overridden. equals always returns false and hashcode always returns a single value say 5.

Here's my code.

import java.util.*; public class Prac {

public int hashCode() {
    return 10;

public boolean equals(Object obj) {
    return false;

public static void main(String args[]) {
   HashSet<Prac> hs=new HashSet<Prac>();
   Prac p=new Prac();
   p=new Prac();
   p=new Prac();


The output is 3. If I do re-initialize p using p= new Prac() after the first insertion then only once the insertion will take place and the output is 1.

The point is, the hashcode is same and the equals always returns false, so if hs.add(p) is called again without re-initializing variable p, then it should insert the object again. Can anyone tell me the concept behind this??

View Answers

June 16, 2011 at 1:00 PM

In your code, HashSet stores the values of Prac type as you have specified:

HashSet<Prac> hs=new HashSet<Prac>();

So, while adding the object of Prac using add method of hashset, it get stored into hastset.And you have created 3 objects of Prac and stored all of them into same hashset.So it returns 3 when you called size() method of HashSet.


Related Tutorials/Questions & Answers:
Java HashSet Collection problem
Java HashSet Collection problem  Here's how the HashSet works... the concept behind this??   In your code, HashSet stores the values...;Prac>(); So, while adding the object of Prac using add method of hashset, it get
Java collection HashSet
Java collection HashSet  How can we use HashSet in java program?   The hashSet class is used to create a collection and store it in a hash table. Each collection refer to a unique value. import java.util.Collections
Java collection HashSet and TreeSet
Java collection HashSet and TreeSet   How can we used HashSet... two subclasses HashSet and TreeSet. Now using the add() method, we have added elements to HashSet. Set does not accept duplicate values. So here we have checked
What is HashSet in java
In following example we will discuss about HashSet in Java. The HashSet class... add(), remove(),size() and test the element of the collection. The HashSet...( ) HashSet(Collection x) HashSet(int capacity) The HashSet() constructor
Example of HashSet class in java
Example of HashSet class in java. In this part of tutorial, we will introduce you to about the HashSet class.  It is collection. It stores only unique. You can not store duplicate value. Java hashset example. How
Java HashSet  - Java Tutorials
Java Collections Framework- HashSet Class A HashSet is a collection set...;  HashSet(Collection c) HashSet(int capacity) HashSet(int capacity, float... a collection that uses a hash table for storage. Hash table stores information by using
Java hashset example.
Java hashset example.     HashSet is a collection. You can not store duplicate value in HashSet. In this java hashset exmple, you will see how to create HashSet in java application and how to store value in Hashset
program for HashSet - Java Beginners
of HashSet. can u please suggest me a way out.  Hi friend, A set is a collection interface. It is connot contain any dublicate element. The Set and SortedSet intefaces describe the properties of sets and the HashSet
Collection : HashSet Example
Collection : HashSet Example This tutorial contains description of HashSet with example. HashSet  : HashSet class extends AbstractSet class.... Example : Here is HashSet() example - package collection; import
Example of Hashset size() method in java.
Example of Hashset size() method in java. The size() is a method of HashSet class. It is used to calculte the size of HashSet. The size of method is equal to total number of elements in HashSet Code: 
Example of contains method of hashset in java.
Example of contains method of hashset in java. The contains() is a method of hashset. It is used for checking that the given number is available in hashset or not. It returns only boolean value.If number is present in hashset
HASHSET - Java Interview Questions
HASHSET  How To Sort HashSet?I Want Source Code?   Hi Friend, Try the following code: import java.util.*; public class HashSetExample{ public static void main (String args[]){ Set set = new HashSet
Example of toArray() method of hashset in java.
Example of toArray() method of hashset in java. The toArray() is a method of HashSet in java. It is used to create array of object. It is also used to copy all element of hashset into array of object. Code: 
HashMap/HashSet - Java Beginners
HashMap/HashSet  im working on a game, and i want to know how does the code for HashMap and HashSet work or can you give me the code that needs to be included in the game engine. I have the exam on monday. Can you please help
struts collection problem in Mozilla
struts collection problem in Mozilla   I used the to get list of records, if records are more than 15-20 then this is not seen properly with vertical scroll bar on Mozilla. Plz help me
Example of Hashset iterator method in java.
Example of Hashset iterator method in java. In this exmple of HashSet class... element from HashSet. Code: package... RemoveAllElement { public static void main(String[] arg) { HashSet obHashSet = new
HashSet In Java
HashSet In Java In this section we will read about HashSet in Java. HashSet...(Collection c); HashSet hs2 = new HashSet(int intialCapacity); HashSet hs3 = new...(); HashSet hs1 = new HashSet(Arrays.asList(?Java?,?C++?)); // HashSet from Array
Java Collection
Java Collection  What is the Collection interface
Java collection
Java collection  What are differences between Enumeration, ArrayList, Hashtable and Collections and Collection
HashSet Example
the methods to add, remove and iterate the values of collection. A HashSet... are performing various operations on HashSet collection. We have explained the steps to add...; To insert an element in the HashSet collection add() method is used. The size
Scrollbar problem with struts <layout:collection>
Scrollbar problem with struts   How activate the vertical scrollbar in struts in mozilla firefox
Collection in java
Collection in java  What are the meaning of the letters E,T,K and V that come in the collection concept
Java collection LinkedHashSet
Java collection LinkedHashSet  How can we use LinkedHashSet in java collection?   import java.util.Iterator; import...("HashSet"); ht.add('R'); ht.add("List"); ht.remove
Java Collection
Java Collection  What are Vector, Hashtable, LinkedList and Enumeration
Java collection
Java collection  What is relation between map and set
Java collection
Java collection  What are differences between Enumeration, ArrayList, Hashtable and Collections
java collection
java collection  how do I use a treeset to print unique words
Java Collection API - Java Tutorials
Java Collection API Collection was added to Java with J2SE 1.2 release. Collection framework is provided in 'java.util.package'. All collections... of the collection interfaces. Also, they are reusable data structures. Algorithms
java collection - Development process
java collection - creating and comparing lists using Java  How to compare two list in java? and i have to create two more list from old two list. Comparing and Creating new list in Java Java Example code for creating
Java garbage collection
Java garbage collection  What is Garbage Collection and how to call it explicitly
Collection classes in java
is the reason using java collection classes saved/stored the data/content.I don't understand, what is the idea using java collection classes in project. Or the data is stored in both database and java collection classes