#java #arrays #arraylist #multidimensional-array
#java #массивы #arraylist #многомерный-массив
Вопрос:
Я хотел бы создать 2D-массив с именем employees
, в котором я знаю количество столбцов (фиксированное 5 и представляет данные сотрудника), но количество строк несколько динамично. Итак, я сделал что-то вроде этого:
static ArrayList<String[]> employees = new ArrayList<String[]>();
Я понял, как добавить сотрудников, но я не могу понять, как получить конкретные данные только от одного сотрудника, используя .get()
, например.
Комментарии:
1.
employees.get(row)[column]
должно сработать. Напримерemployees.get(0)[1]
2. Хотя, вероятно, проще создать класс
Employee
, а не использоватьString[]
.
Ответ №1:
get
вернет строку, которая является String[]
. Если вы хотите получить из него определенное значение, вам придется проиндексировать его с помощью []
оператора:
String specificData = employees.get(1)[2]; // Or any other indexes
Ответ №2:
первое измерение, которое является любым ArrayList
, которое вам нужно вызвать get()
методом для доступа, а затем возвращаемое значение — это массив, к которому вы не можете получить доступ index
:
ArrayList<String[]> employees = new ArrayList<String[]>();
employees.add(new String[] {"a", "b"});
System.out.println(employees.get(0)[0]);