ArrayList<Employee>[] employeeLevels = new ArrayList[LEVELS];
Из того, что я вижу, это arraylist of arraylist, но он немного озадачен тем, как он определен.
Это массив ArrayLists.
Он имеет длину LEVELS
(3 в вашем коде), все элементы изначально null
. Чтобы использовать эти слоты, вы должны добавить ArrayLists (не происходит в коде, который вы показали).
Чтобы попасть к отдельным из этих списков, выполните
ArrayList<Employee> employeeLevel = employeeLevels[level];
, но сначала инициализируйте запись, иначе вы просто получите null ( не пустой список).
ArrayList<Employee>
Материал в угловых скобках является аннотацией общего типа. Это означает, что ArrayList может хранить только экземпляры Employee (или их подклассы).
Итак, чтобы подвести итог, у вас есть массив с тремя элементами, каждый из которых является списком, который может хранить экземпляры Employee, или он может быть нулевым. «Три» списка не обязательно должны быть разными (вы можете поместить один и тот же список во все три слота).