Я хочу создать двумерный массив, в котором я хочу хранить записи из базы данных. Так что скажем, что первый имеет тип int
, а второй тип String
(здесь я описываю только одну запись, поэтому в основном типы столбцов db). Как мне это сделать? Является ли массив правильной структурой данных для этого?
Двумерный массив разных типов
Ответ 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));
Я не уверен, что именно вы надеетесь достичь, но вы можете подумать об изменении этого фрагмента в соответствии с вашими потребностями.