В дополнение к @Eran ответ, который я должен отметить, что наличие null
значения в Map
не рекомендуется. Во-первых, это не поддерживается каждой реализацией карты. Например, ConcurrentHashMap
не поддерживает значения null
, поэтому, если позже это Map
будет передаваться по нескольким потокам, и вы решите перейти на ConcurrentHashMap
, вы обнаружите, что вы не можете сделать это, не избавившись от нулей. Во-вторых, большинство новых методов API Java-8 getOrDefault
, , computeIfAbsent
не ведут себя дружелюбно с null
значениями: обычно они предполагают, что значение null
такое же, как и отсутствие значения. Наконец, обработка значений null
несколько медленнее, так как вам нужно дважды проверять одну и ту же клавишу (сначала через containsKey
, второй через get
).
Таким образом, в общем случае, если это возможно, вы должны избегать пустых значений в картах. Иногда можно ввести специальную константу, которая обозначает отсутствие значения. Это зависит от конкретной задачи.
Да, это возможно. –
Карта Ключи не являются значениями карты. В то время как допустимо, обычно не было бы «ставить нулевое значение» (как это обычно не было бы на карте, чтобы начать с!), И на карте есть не более одного «нулевого ключа» (что одинаково). – user2864740
@tuturyokgaming вы просто ищете, как найти ключ, который имеет нулевое значение, а затем поставить там значение? да, было бы довольно легко сделать это. сообщите мне, и я отправлю код для этого. – Nirmal