Необходимы рекомендации по использованию карт из фреймворков Java collection

#java #hashmap

#java #hashmap

Вопрос:

Я пытаюсь понять, как работает Map из фреймворка Java Collections. Я понимаю, что он сопоставляет значения с ключом, но что, если я хочу создать сотрудника, у которого есть имя, фамилия, пол и идентификатор (который я бы использовал в качестве ключа).

Итак, я попробовал этот код…

 Map <Employee> employeeMap = new HashMap<String,String,String,String,int>();
  

Но ему это не нравится, поскольку он хочет ввести только два параметра. Итак, как мне добавить всего сотрудника в Map , который содержит более двух значений?

Комментарии:

1. download.oracle.com/javase/tutorial/collections/interfaces/…

Ответ №1:

у вас есть класс Employee, не так ли?

 class Employee{
Integer id;
String firstname;
String lastname;
...
}
  

когда у вас есть объект Employee, скажите « em »
затем вы можете

 employeeMap.put(em.getId(), em);
  

Комментарии:

1. ага, я вижу. Сохранит ли это весь объект em в виде списка массивов??

2. не понял вас … конечно, вы можете поместить строку[] / Object[] или список / Набор содержит (firstname, lastname.. что угодно), вместо того, чтобы помещать объект Employee. но я не думаю, что это хороший способ.