那么,这一定很容易,但我无法在任何地方找到解决方案。而且我仍然不足以使用Java来找出实现方法。如何转换哈希表列表中的ResultSet?
到目前为止,我可以循环访问ResultSet
,我已经为自己感到非常自豪。
我想要一个List,这样我就可以简单地循环它,然后调用类似myRow.get('ColumnName');
的东西。
此外,还有另一种数据类型,而不是Hashtable
来存储键/值。有小费吗?
非常感谢!
那么,这一定很容易,但我无法在任何地方找到解决方案。而且我仍然不足以使用Java来找出实现方法。如何转换哈希表列表中的ResultSet?
到目前为止,我可以循环访问ResultSet
,我已经为自己感到非常自豪。
我想要一个List,这样我就可以简单地循环它,然后调用类似myRow.get('ColumnName');
的东西。
此外,还有另一种数据类型,而不是Hashtable
来存储键/值。有小费吗?
非常感谢!
myRow.get('ColumnName');
已经在ResultSet
,看到getObject(String columnLabel)。现在,ResultSet
和Map
之间的一个区别是ResultSet
不是(总是)随机访问。一旦你走过一排,使用ResultSet.next()
,它可能不允许你“倒带”到前一行。这是有充分的理由的:ReusltSet中元素的数量可以是任意大的,并且映射列表上的内存需求将是禁止的。
如果你决定将其转换为List<Map<String, Object>>
,那么你应该创建自己的实现的List
和Map
两者,使得Map<String /*columnName*/, Integer /*Index*/>
是给出了一个列名的每个阵列中的索引。我是从经验上讲的,我不得不改变一个实现,其中迭代列名称太昂贵。
你说得对。我可以直接从ResultSet调用get方法。谢谢! – Cybrix 2012-01-18 22:43:26
我会用HashMap
。 Hashtable
是老同学......
例子:
HashMap<String, Object> p = new HashMap<String, Object>();
p.put("ResultSetkey1","ResultSetvalue1");
p.put("ResultSetkey2","ResultSetvalue2");
关于HashMap的好处 – Cybrix 2012-01-18 22:14:19
您可能会考虑HashMap,它将值存储在键/值对中。 – kosa 2012-01-18 22:07:05