Вы, вероятно, должны представлять человека как объект.Таким образом, вы не можете вызвать get("someKey")
для ключа, который не существует, и ваш код взорвется.Это идея объектно-ориентированного программирования.Для инкапсуляции связанных данных и функциональности.Вложенные карты делают то же самое, но они более подвержены ошибкам.Для языка, который не поддерживает объекты, это имеет смысл.Но представление человека как объекта позволяет вам лучше контролировать поля, которые имеет отображение, что делает ваш код более безошибочным.
class Person {
private String name;
private String surname;
public Person(String name, String surname) {
this.name = name;
this.surname = surname;
}
}
Затем вы создаете карту, которая отображает имена людей:
Map<String, Person> allPeople = new HashMap<>();
// Create an object that represents a person
Person me = new Person("name", "surname");
// Map the string "me" to the object me that represents me
allPeople.put("ME", me);