Hi
This returns the size as 1 as expected:
import java.util.*;
public class SetClass{
public static void main(
String [] args)
{
Set<Dog> item = new HashSet<Dog>();
Dog a =new Dog("cody");
Dog b =new Dog("cody");
item.add(a);
item.add(b);
System.out.println(item.size());///prints 2(but I am expecting 1 as a.equals(b) is giving true
}
}
class Dog
{
String name;
public Dog(String n)
{
name =n;
}
public boolean equals(Object O)
{
return this.name.equals(((Dog)O).name);
}
public int hashCode(){
return name.hashCode();
}
}