Подтвердить что ты не робот

Двумерный массив разных типов

Я хочу создать двумерный массив, в котором я хочу хранить записи из базы данных. Так что скажем, что первый имеет тип int, а второй тип String (здесь я описываю только одну запись, поэтому в основном типы столбцов db). Как мне это сделать? Является ли массив правильной структурой данных для этого?

4b9b3361

Ответ 1

Массивы могут содержать только один тип. Если этот тип Object, то он может хранить Object и любой из его подтипов, но это не похоже на то, что вы пытаетесь выполнить здесь.

Похоже, что вы описываете 2D-массив для хранения информации о базе данных, причем каждый элемент в массиве является столбцом в одной из строк. Этот не массив записей, это массив данных столбца.

Вместо этого просто сохраните одномерный массив записей, где каждый элемент массива является ссылкой на всю строку DB.

Ответ 2

Я не уверен, что следую, но вы можете искать Map<Integer,String>. или Map<Integer,List<String>>. [смотрите List и HashMap]

Map позволяет связывать ключ [ Integer] со значением [String или List].

Map также позволяет быстро найти ключ и его прикрепленное значение.

(*) Вы должны использовать Map<Integer,List<String>>, если вы хотите добавить более одного String за Integer, или, альтернативно, вы можете использовать apache commons MultiMap

Ответ 3

Вы можете сделать то же самое с помощью этого

Object[][] o = new Object[10][10];

o[0][0] = 1;
o[0][1] ="hello";

System.out.println(o[0][0]);
System.out.println(o[0][1]);

Ответ 4

Вы можете использовать

HashMap<Integer, ArrayList<String>>

Ответ 5

Если вы просто хотите иметь один столбец данных String и другой столбец данных int, это то, что вы можете рассмотреть:

Объявить 2-мерный массив строк

String[][] words = new String[][];

Ваш первый столбец может содержать все данные String. Второй столбец может содержать числовые данные, но в виде строки. Вы можете использовать методы Integer.toString() и Integer.parseInt() для этого

words[index][index] = Integer.toString(Integer.parseInt(args));

Я не уверен, что именно вы надеетесь достичь, но вы можете подумать об изменении этого фрагмента в соответствии с вашими потребностями.