Теперь я пытаюсь понять, как построить Hashtable
.
Самое интересное - как объекты добавляются в Hashtable
?
, который я прочитал вЗапишите, что:
на первом шаге: Расчет hashCode()
объекта.
Далее мы определим положение этого объекта в Hashtable
: obj.hashCode() % Hashtable.length
.
Например, добавьте больше элементов к Hashtable
:
Hashtable<String, String> hm=new Hashtable<String, String>(100);
hm.put("Lee","Lee");
hm.put("lee","lee");
hm.put("eel","eel");
Определите корзину, в которую помещается объект:
System.out.println("Lee".hashCode() % 100);
System.out.println("lee".hashCode() % 100);
System.out.println("eel".hashCode() % 100);
Если я понимаю алгоритм, объекты должны бытьпоместите в таблицу следующее:
eel /*because,"eel".hashCode() % 100=0*/,
lee /*because, "lee".hashCode() % 100=20*/,
Lee /*because, "Lee".hashCode() % 100=68*/
а что мы видим в результате?
System.out.println(hm);
{Lee=Lee, lee=lee, eel=eel}
Пожалуйста, скажите, где я ошибся?