Безопасна ли операция обращение к HashMap по несуществующему ключу

«Безопасна ли операция обращение к HashMap по несуществующему ключу» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Обращение к HashMap по несуществующему ключу безопасно - метод get() вернет null. Однако важно учитывать:

  1. Если значение null было явно сохранено по ключу, get() также вернет null, что может ввести в заблуждение
  2. Для проверки существования ключа лучше использовать containsKey()
  3. В Kotlin есть безопасный оператор ?. и getOrDefault()

Пример:

val map = hashMapOf("a" to 1)
println(map["b"]) // null
println(map.containsKey("b")) // false
println(map.getOrDefault("b", 0)) // 0