1 import java.util.HashMap; 2 3 public class UseOfNonHashableClassInHashDataStructure { 4 5 6 static class UMap extends HashMap<UseOfNonHashableClassInHashDataStructure, String> {}; 7 static HashMap<UseOfNonHashableClassInHashDataStructure, String> m = new HashMap<UseOfNonHashableClassInHashDataStructure, String>(); 8 9 static int foo(HashMap<UseOfNonHashableClassInHashDataStructure, String> map) { 10 return map.size(); 11 } 12 @Override 13 public boolean equals(Object o) { 14 return hashCode() == o.hashCode(); 15 } 16 17 public static String add(UseOfNonHashableClassInHashDataStructure b, 18 String s) { 19 return m.put(b, s); 20 } 21 22 public static String get(UseOfNonHashableClassInHashDataStructure b) { 23 return m.get(b); 24 } 25 }