Java 不同类型的二维数组
我想创建一个二维数组,在其中存储数据库中的记录。假设第一个类型为Java 不同类型的二维数组,java,data-structures,Java,Data Structures,我想创建一个二维数组,在其中存储数据库中的记录。假设第一个类型为int,第二个类型为String(这里我只描述一个记录,基本上是db列的类型)。我怎么做?数组是否是正确的数据结构?数组只能包含一种类型。如果该类型恰好是Object,那么它可以存储Object及其任何子类型,但这听起来并不像您在这里试图实现的那样 听起来您所描述的是一个存储数据库信息的2D数组,数组中的每个元素都是其中一行中的一列。这不是一个记录数组,而是一个列数据数组 相反,只需存储一个记录的一维数组,其中数组的每个元素都是对整
int
,第二个类型为String
(这里我只描述一个记录,基本上是db列的类型)。我怎么做?数组是否是正确的数据结构?数组只能包含一种类型。如果该类型恰好是Object
,那么它可以存储Object
及其任何子类型,但这听起来并不像您在这里试图实现的那样
听起来您所描述的是一个存储数据库信息的2D数组,数组中的每个元素都是其中一行中的一列。这不是一个记录数组,而是一个列数据数组
相反,只需存储一个记录的一维数组,其中数组的每个元素都是对整个DB行的引用。我不确定我是否在跟踪,但您可能正在查找一个。或
映射
。[看一看,然后]
映射
允许键[整数
]与值[字符串
或列表
]关联
Map
还允许快速查找密钥及其附加值
(*)如果您想为每个整数
附加多个字符串
,您应该使用映射
,或者您可以使用apache commons,您可以使用
HashMap<Integer, ArrayList<String>>
HashMap
借助此工具,您可以做同样的事情
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]);
如果您只想拥有一列字符串数据和另一列int数据,这是您可以考虑做的:
声明一个二维字符串数组String[][] words = new String[][];
第一列可以包含所有字符串数据。第二列可以包含数字数据,但格式为字符串。您可能需要使用Integer.toString()和Integer.parseInt()方法来完成此操作
words[index][index] = Integer.toString(Integer.parseInt(args));
<>我不确定你希望实现什么,但是你可以考虑修改这个片段以适应你的需求map。如果你不允许java复制重复的整数。@瑜珈HealthPaPaja你可以使用一个番石榴或阿帕奇的代码> MultIMAP < /代码> s来允许这个,尽管如此。@Jeffrey,但您在这里没有提到您正在谈论Gauvas的地图。很抱歉,但我不确定您所说的“数组的每个元素都是对整个DB行的引用”是什么意思。整个数据库行由两个不同类型的列组成:string和int。如何将其存储在一个数组中?您使用什么来访问数据库?表中必须有一个表示行的对象。然后,该行必须具有可以调用的方法来访问该行中的列数据。任何包装数据库行的对象都是需要存储在数组中的对象。我的意思是,这就是数据库表的本质——一个行数组。嘿,约格什,我正试图对o[0][0]=一个字符串数组和o[0][1]=一个字符串做同样的事情。这对我不管用,这对我管用吗?