Кстати, мне тут вспомнилась одна симпатичная задачка, которую я просто обожаю)
Надо запихнуть в мапу 15 элементов, код этого класса менять нельзя:
public final class Interesting {
private Map map = new HashMap();
public synchronized void put(Object key, Object value) {
if (map.size() <10){
map.put(key, value);
}
}
public int size(){
return map.size();
}
}
class C {
private Interesting i;
private static int num = 0;
C(Interesting i){
this.i = i;
}
@Override
public int hashCode() {
num ++;
if(num <15){
i.put(new C(i), null);
}
return super.hashCode();
}
}
public static void main(String... args) {
final Interesting i = new Interesting();
i.put(new C(i), null);
System.out.println(i.size());
}