我想创建一个二维数组,我想从数据库中存储记录。因此,可以说第一个是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. Ruby不同类型的二维数组
- 2. 二维数组与不同类型的元素和使用类
- 3. 具有两种不同数据类型的二维数组?
- 4. 访问不同类型的二维动态数组
- 5. 我可以有不同类型的二维数组吗?
- 6. 定义不同类型的二维动态数组
- 7. typescript不同类型的多维数组
- 8. Python:不同类型的多维数组
- 9. 不同类型的二维列表
- 10. 演员类型的二维数组
- 11. 作为二维数组返回类型
- 12. C#表格/二维数组类型
- 13. 不同长度的二维数组(Java)
- 14. 在C#中使用两种不同数据类型的二维数组
- 15. 具有不同数据类型列的二维阵列
- 16. 对于二维数组循环给不正确类型的F#
- 17. 如何将二维数组存储在不同类型的堆栈中?
- 18. 不同类型的数组
- 19. 不同类型的数组
- 20. 类型不匹配错误,二维数组声明
- 21. 使用二维数组与不同大小的第二行C++
- 22. 转换多维数组的元素,以不同类型的
- 23. 具有不同类型的2维数组的声明
- 24. 二维不同风味类型数组之间的区别?这两种类型的优点
- 25. 二维数组
- 26. 二维数组
- 27. 二维数组
- 28. 二维数组
- 29. 二维数组
- 30. 同时比较二维数组的层
我很抱歉,但我不确定你的意思是:“数组中的每个元素都是对整个DB行的引用”。整个DB行由两列不同类型的字符串和整数组成。我如何将它存储在一个数组中? – lunar 2012-04-08 14:24:05
你用什么来访问数据库?必须有一个对象表示表中的一行。然后,该行必须具有可调用的方法来访问该行中的列数据。不管对象包装数据库行是你需要存储在你的数组中。我的意思是,这基本上是一个数据库表 - 一个行数组。 – jefflunt 2012-04-08 14:26:16