у меня было интервью сегодня, и я получил следующий Java-код:HashMap в Java
public class Question_6 {
public static void main(String[] args){
Map<Integer,String> map1 = new HashMap<Integer,String>();
map1.put(new Integer(1),"001a");
map1.put(new Integer(1),"001b");
map1.put(new Integer(2),"002");
System.out.println(map1.size());
Map<MyInt,String> map2 = new HashMap<MyInt,String>();
map2.put(new MyInt(1),"001a");
map2.put(new MyInt(1),"001b");
map2.put(new MyInt(2),"002");
System.out.println(map2.size());
}
}
public class MyInt {
int i;
public MyInt(int i) {
this.i = i;
}
}
Вопросы были:
Что будет распечатана на консоль?
Предложить решение проблемы.
теперь я знаю, что ответ на первый вопрос:
2
3
Но я не знаю, почему? В чем проблема с MyInt
?
'хэш-код()' и 'Equals()' реализации отсутствуют. –