我想创建一个二维数组,我想从数据库中存储记录。因此,可以说第一个是int
类型,第二个是String
(这里我只描述了一条记录,所以基本上是db列的类型)。我该怎么做?数组是正确的数据结构吗?不同类型的二维数组
回答
数组只能包含一种类型。如果这种类型碰巧是Object
,那么它可以存储Object
及其任何子类型,但这听起来并不像你想要在这里完成的。
听起来像你所描述的是一个2D数组来存储数据库信息,数组中的每个元素都是其中一行中的一列。这不是记录数组,它是一个列数据数组。
相反,只需存储一维记录数组,其中数组的每个元素都是对整个DB行的引用。
我不确定我在追随,但您可能正在寻找Map<Integer,String>
。或Map<Integer,List<String>>
。 [对List一看,HashMap]
Map
允许值[String
或List
]键[Integer
]的关联。
Map
还允许快速查找密钥及其附加值。
(*)你应该使用Map<Integer,List<String>>
如果要附加更多的则每Integer
一个String
,或者您可以使用Apache公地MultiMap
Map
@yogeshprajapata尽管你可以使用Guava或Apache的'MultiMap'中的一个来实现这个功能。 – Jeffrey 2012-04-08 14:04:58
@Jeffrey,但你在这里没有提到你正在谈论Gauvas的地图。 – 2012-04-08 14:10:00
您可以使用
HashMap<Integer, ArrayList<String>>
你可以这样做东西在这个帮助下
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]);
嘿Yogesh,我正在试图做o [0] = 0的字符串和o [0] [1] =一个字符串相同。这对我不起作用,如果这对我有用? – Tomer 2016-12-03 21:51:07
请发布您的代码。 – 2016-12-05 06:22:00
如果你只是想有一列字符串dat和int数据的另一列,这是你可以考虑做什么:
声明一个二维字符串数组
String[][] words = new String[][];
你的第一列可以包含所有的字符串数据。第二列可以具有数字数据但是以字符串的形式。您可能需要使用Integer.toString()和的Integer.parseInt()方法来做到这一点
words[index][index] = Integer.toString(Integer.parseInt(args));
我不知道究竟你希望达到什么样的,但你可能要考虑修改这个片段,以满足您的需求
- 1. 二维数组与不同类型的元素和使用类
- 2. 定义不同类型的二维动态数组
- 3. Python:不同类型的多维数组
- 4. 演员类型的二维数组
- 5. C#表格/二维数组类型
- 6. 不同长度的二维数组(Java)
- 7. 在C#中使用两种不同数据类型的二维数组
- 8. 具有不同数据类型列的二维阵列
- 9. 对于二维数组循环给不正确类型的F#
- 10. 不同类型的数组
- 11. 类型不匹配错误,二维数组声明
- 12. 使用二维数组与不同大小的第二行C++
- 13. 转换多维数组的元素,以不同类型的
- 14. 二维数组
- 15. 二维数组
- 16. 二维数组
- 17. 同时比较二维数组的层
- 18. 如何创建不同类型的多维向量/数组?
- 19. 斯威夫特不同类型的多维数组
- 20. 两种不同对象类型的多维数组
- 21. 在java中使用不同类型的多维数组
- 22. 同时对一维数组和二维数组排序(按列)
- 23. 抽象类的二维数组?
- 24. “错误数组类型具有不完整的元素类型”对于二维数组
- 25. 二维数组中的冲突类型(C)
- 26. 具有自定义类型元素的二维数组
- 27. 意外的类型从一个二维数组切片
- 28. 将一维数组为二维数组
- 29. 转换二维数组多维数组
- 30. 升级1维数组二维数组
我很抱歉,但我不确定你的意思是:“数组中的每个元素都是对整个DB行的引用”。整个DB行由两列不同类型的字符串和整数组成。我如何将它存储在一个数组中? – lunar 2012-04-08 14:24:05
你用什么来访问数据库?必须有一个对象表示表中的一行。然后,该行必须具有可调用的方法来访问该行中的列数据。不管对象包装数据库行是你需要存储在你的数组中。我的意思是,这基本上是一个数据库表 - 一个行数组。 – jefflunt 2012-04-08 14:26:16