Java HashSet Collection problem
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 {
@Override
public int hashCode() {
return 10;
}
@Override
public boolean equals(Object obj) {
return false;
}
public static void main(String args[]) {
HashSet<Prac> hs=new HashSet<Prac>();
Prac p=new Prac();
hs.add(p);
p=new Prac();
hs.add(p);
p=new Prac();
hs.add(p);
System.out.println(hs.size());
}
}
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.
Ads
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
Advertisements
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
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
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
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: 
Example of Hashset iterator method in java.
Example of
Hashset iterator method in
java.
In this exmple of
HashSet class... element from
HashSet.
Code:
HashSetRemoveElement.java
package...
RemoveAllElement {
public
static void
main(String[] arg) {
HashSet obHashSet = new
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
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
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
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 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
java collection how do I use a treeset to print unique words
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
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
collection
collection As we know array holds the similar kind of elements, then in
collection how toArray() method will convert the
collection having different objects as elements to an array in
java
Filter collection in Java 8
Filter
collection in
Java 8 Hi,
I have following
collection...,
Example of Filter
collection in
Java 8
You can use the following code in
Java 8... the data not containing "
Java".
Thanks
Hi,
We have huge
collection
Java collection -Hashtable
Java collection -Hashtable What is Hashtable in
java collection?
Java collection -Hashtable;-
The hashtable is used to store value in the form of map key with value.
import java.util.Hashtable;
import
How to convert Collection to Array in Java?
How to convert
Collection to Array in
Java? Hello,
I have a
collection object in data with data in it. How to convert
Collection to Array in
Java... to Array in
Java.
Here is the code for converting
Collection to Array:
String
Java collection-LinkedList
Java collection-LinkedList How to use
java collection-linked list ?
Example:
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class LinkedListExample{
public static void
Collection
Collection What is the exact difference between lagacy classes and
collection classes?
and Enumeration is possible on
Collection classes