***

Jul 10, 2012 22:59

Кстати, мне тут вспомнилась одна симпатичная задачка, которую я просто обожаю)

Надо запихнуть в мапу 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());
    }

Собеседования, Работа

Previous post Next post
Up