HashTable 的存取问题!

lmh79 2002-09-09 02:54:45
String [] arrTempPageList=new String[2];
while (con.next()){
String PageId=con.getCol(1);
arrTempPageList[0]=con.getCol(2);
arrTempPageList[1]=con.getCol(3);

pages.put(PageId,arrTempPageList);
}

一个表有三个字段,例如:
id
field1
field2
我希望用arrTempPageList数组来存放field1,field2,然后PageId存放id,然后将这样一张表的数据存到HashTable中,你看上面的代码对吗?取HashTable中的数组数据怎么取呢?

谢谢您的回答!
...全文
97 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
joyrush 2003-03-05
  • 打赏
  • 举报
回复
java.util.Hashtable ht = (java.util.Hashtable)vc.elementAt(i);
这样也可以??
为什么Vector会转换城hashtable ???
而且Vector中 get和elementAt 有什么不同??
lmh79 2002-09-10
  • 打赏
  • 举报
回复
jamsa(德德)
crm2000(浏览器)
两位是对的,我在之前试着改进去就对了!
谢谢!
netstarry 2002-09-09
  • 打赏
  • 举报
回复
HashTable类保存的只是该对象的指针,并不保存该对象,你可以使用

HashTable类的get函数取的保存的数据,该函数取作为 键 的对象,返回为
object类型的数据,你需要根据实际做一下转换,比如是
String a = pages.get(PageId);
crm2000 2002-09-09
  • 打赏
  • 举报
回复
nod jamsa,数组分配内存得到循环里面去。
wjmmml 2002-09-09
  • 打赏
  • 举报
回复
用con.getXXX("字段名");
jamsa 2002-09-09
  • 打赏
  • 举报
回复
while (con.next()){
String [] arrTempPageList=new String[2];
String PageId=con.getCol(1);
arrTempPageList[0]=con.getCol(2);
arrTempPageList[1]=con.getCol(3);

pages.put(PageId,arrTempPageList);
}

修改一下代码,记住,指针型变量指向一片存储区,如果存储区被更改,那么指针所指内容也就变了,如果说到这你还不清楚,请e_mail: jamsa3210@163.com
lmh79 2002-09-09
  • 打赏
  • 举报
回复
我那样做的结果好像后面的数据覆盖了前面的数据,PageId存的没有错,arrTempPageList数组只有最后一个数据!
linquan333 2002-09-09
  • 打赏
  • 举报
回复
用get(Object key)的方法取出数组,再取数组中各值。与写入顺序相反
alphazhao 2002-09-09
  • 打赏
  • 举报
回复
sorry:笔误了一下,后面的vc就是前面的vect,即存放结果集的向量Vector
alphazhao 2002-09-09
  • 打赏
  • 举报
回复
HashTable存放数据我没试验过,不好乱说
我曾这么用过HashTable以提高运行速度
比如我用vector向量来存放查询的结果集:
Vector vect = new Vector();//用于存放数据记录
vect.removeAllElements();//初始化向量对象
while(rs.next()) {//依次读取数据结果集
Vector rec_vector=new Vector();
//从结果集中取数据放入向量rec_vector中,此处以你的为例子字段
rec_vector.addElement(rs.getString("id"));
rec_vector.addElement(rs.getString("field1");
rec_vector.addElement(rs.getString("field2"));
vect.addElement(rec_vector);//向量rec_vector加入向量vect中
}
……
然后对vector to HashTable处理:
for(int i=0;i<vc.size();i++) {
java.util.Hashtable ht = (java.util.Hashtable)vc.elementAt(i);
//取HashTable表中数据:
sStr1 = (String)ht.get("id");
sStr2 =(String)ht.get("field1");
sStr3 = (String)ht.get("field2");
}

这种处理似乎不太方便,不知道能否给予你一点启发
老实说我用过HashTable表的时候不多

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧