Java ArrayList

#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]);