В чем преимущество использования нескольких нулевых ключей в hashmap? - PullRequest
5 голосов
/ 09 ноября 2010

Просто для экспериментов я добавил несколько null ключей в Hashmap экземпляр. И это не жаловалось. Какая польза от этого?

Код:

Map hmap = new HashMap();
hmap.put("sushil","sushil11" );
hmap.put(null,null);
hmap.put(null,"king");
hmap.put(null,"nagasaki");
hmap.put(null,null);

Сколько ключей на карте?

Ответы [ 5 ]

11 голосов
/ 09 ноября 2010

Я думаю, вы не добавили несколько null -ключей. Вы просто перезаписывали один и тот же ключ null несколько раз.

7 голосов
/ 09 ноября 2010

У обычного хэш-карты будут уникальные ключи, поэтому вы несколько раз перезаписываете запись для нулевого ключа.У вас не будет нескольких идентичных ключей (для этого вам понадобится MultiMap или аналогичный)

4 голосов
/ 09 ноября 2010

Для этого есть вызов API:

size : Возвращает количество отображений значения ключа на этой карте.

hmap.size();

Как уже отмечалось, вы просто перезаписываете пару ключ / значение новым значением.

3 голосов
/ 09 ноября 2010

Используется для получения switch: case: поведение по умолчанию.

Пример:

Определение проблемы: Кафе в здании CS Department.Они предоставляют кофе студенту CS за 1,00 долл. США, студентам факультета ИТ - 1,25 долл. США и другим по 1,50 долл. США.

Тогда карта будет:

Ключ -> Значение

IT -> 1,25

CS -> 1,00

null -> 1,50

if (map.containsKey (dept))

цена = map.get (dept);

else

price = map.get (null);

PS - я не "Department-ist", если это слово.:)

1 голос
/ 06 мая 2013

Был задан вопрос о наличии нескольких ключей в HashMap, что невозможно.

Если вы снова и снова принимаете значение null, заменяется только старое значение.

См .:

http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/HashMap.java#HashMap.putForNullKey%28java.lang.Object%29

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...