我想创建一个二维数组,我想在其中存储数据库中的记录。所以可以说第一个是类型int
,第二个是类型String
(这里我只描述一个记录,所以基本上是 db 列的类型)。我该怎么做?数组是正确的数据结构吗?
5 回答
我不确定我是否在关注,但您可能正在寻找Map<Integer,String>
. 或Map<Integer,List<String>>
。[看看List和HashMap ]
Map
允许将键 [ Integer
] 关联到值 [String
或List
]。
Map
还允许快速查找键及其附加值。
(*)Map<Integer,List<String>>
如果你想附加一个String
以上,你应该使用Integer
,或者你可以使用 apache commonsMultiMap
数组只能包含一种类型。如果该类型恰好是,Object
那么它可以存储Object
及其任何子类型,但这听起来不像您在这里想要完成的。
听起来您所描述的是一个用于存储数据库信息的二维数组,数组中的每个元素都是其中一行中的一列。这不是记录数组,而是列数据数组。
相反,只需存储一维记录数组,其中数组的每个元素都是对整个 DB 行的引用。
你可以在这个的帮助下做同样的事情
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]);
您可以使用
HashMap<Integer, ArrayList<String>>
如果您只想拥有一列 String 数据和另一列 int 数据,您可以考虑这样做:
声明一个二维字符串数组
String[][] words = new String[][];
您的第一列可以包含所有字符串数据。第二列可以包含数字数据,但采用字符串的形式。您可能需要使用 Integer.toString() 和 Integer.parseInt() 方法来执行此操作
words[index][index] = Integer.toString(Integer.parseInt(args));
我不确定您究竟希望达到什么目标,但您可以考虑修改此代码段以满足您的需求