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