Чтобы расширить ответ Kkba, HashMap
, вероятно, является вашим наилучшим способом организации ваших данных, если вы группируете подразделы сотрудников по навыкам.Поскольку каждый навык уникален, его можно использовать в качестве ключевой части HashMap
, например, так:
HashMap<Skill, Employee> skillMap = new HashMap();
skillMap.put(firstSkill, Arrays.asList(employee1, employee3);
skillMap.put(secondSkill, Arrays.asList(employee2, employee3);
skillMap.put(thirdSkill, Arrays.asList(employee1, employee2, employee4);
А список сотрудников, использующих определенный навык, можно получить с помощью:
skillMap.get(firstSkill); // Returns employee1 and employee3
Но имейте в виду, что get()
возвращает null
, если ключ не существует.Вместо этого вы можете использовать
skillmap.getOrDefault(emptySkill, Collections.emptyList());
, чтобы гарантировать, что List
всегда возвращается независимо от наличия навыка.
Дальнейшее чтение: Arrays.asList()
,HashMap.getOrDefault()