Я искал похожие вопросы и не могу найти четкого решения, поэтому надеялся, что кто-то может помочь. Я новичок в Java и пытаюсь сделать следующее, но немного застрял. Проблема: у меня есть CSV-файл с тремя полями: String, int, String. Это список организаций, показывающий 140 человек в моем отделе вместе с их менеджером, и я хочу создать вложенную древовидную структуру, показывающую всю организацию.
Поля CSV: сотрудник, numberOfDirectReports, менеджер, например. образец может быть:
Bob, 5, Dave
Dave, 2, Alice
Sam, 0, Bob
так что это говорит мне, что Алиса находится на вершине дерева, и Дейв отчитывается перед ней. У самого Дейва есть 2 прямых подчиненных, один из них — Боб. У Боба 5 прямых подчиненных, один из них — Сэм. У Сэма нет прямых подчиненных.
Алиса
- Dave
- DavesOtherReport
- Bob
- Sam
- BobsOtherReport
- BobsOtherReport
- BobsOtherReport
- BobsOtherReport
Что я сделал до сих пор, так это создал класс с именем Employee с тремя переменными String employeeID, int numDirectReports, String manager. Я создал ArrayList с именем employeeList, который содержит 140 экземпляров Employee.
Я могу распечатать список сотрудников и их руководителя. Но то, что я хочу сделать, это перебрать список/массив (извините, если я немного смешиваю свою терминологию) и создать что-то вроде приведенной выше древовидной структуры для всего населения.
Любые идеи? Нужно ли для этого создавать еще одну промежуточную структуру данных? если да, то как мне инициализировать, а затем заполнить его? Или я могу распечатать то дерево, которое у меня есть после использования только списка сотрудников, который я уже заполнил?