如何取得hashmap中的值

smqkf1208 2009-09-12 02:15:49
情况是这样的
{vcagentid=1, vcagentname=ssd, vcpsw=1}
{vcagentid=1, vcagentname=ssd2, vcpsw=2}
{vcagentid=1, vcagentname=ssd3, vcpsw=3}
{vcagentid=1, vcagentname=ssd4, vcpsw=4}
我执行一个SQL语句。通过vcagentid='1' 查询cvagentid,vcagentname,vcpsw三个字段
结果放到一个LIST中,然后再从LIST中取得第一条,结果放到haspmap中了
应该是{vcagentid=1, vcagentname=ssd, vcpsw=1}对吧(我toString()了)
我如何才能取得vcagentname的值,或vcpsw的值。
谢谢了。
...全文
2644 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
caironghuicxz 2009-09-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gesanri 的回复:]
引用 1 楼 viszl 的回复:
hashMap是键值对,你可以把vcagentid当做键,然后把vcagentname和vcpsw当做一个字符串放入该键应射的值中。
根据键值取values使用get(Object key)

你这样不行,hashmap的key不能重复,既然楼主的vcagentid都是相同的,直接把vcagentname当key,vcpsw当value好了,完后再遍历

Java code
Map<String,String> map=new HashMap<String,String>();for (Iterator iter= map.entrySet().iterator(); iter.hasNext();) {

Map.Entry entry= (Map.Entry) iter.next();

String key= (String)entry.getKey();

String val= (String)entry.getValue();

}
[/Quote]
这是一种方法
冰思雨 2009-09-12
  • 打赏
  • 举报
回复
MAP里面保存的是键值对,并且,键不重复。
楼主为什么要把List里面的结果,转存到Map里面 ?
如果不是要频繁访问那个结果List,就没有转存的必要,因为,转存也会浪费时间。
既然转存了,那就要明确,键的内容是什么。。。
看楼主的查询结果,那个id的值,所有记录都相同,那就不能当作键来保存。
那个name一般来讲,是允许重复存在在一张表里的。
所以,关键就看vcpsw这个字段了,表面上看查询结果里面没有重复的,
所以,推荐使用vcpsw作为Map的键,而Map的值,就保存你对应的List里面的对象就行了。
这样,你在使用Map的时候,可以通过vcpsw值来找到相应的对象,然后从对象里面取得name值。
gesanri 2009-09-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 viszl 的回复:]
hashMap是键值对,你可以把vcagentid当做键,然后把vcagentname和vcpsw当做一个字符串放入该键应射的值中。
根据键值取values使用get(Object key)
[/Quote]
你这样不行,hashmap的key不能重复,既然楼主的vcagentid都是相同的,直接把vcagentname当key,vcpsw当value好了,完后再遍历


Map<String,String> map = new HashMap<String,String>();

for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) {

Map.Entry entry = (Map.Entry) iter.next();

String key = (String)entry.getKey();

String val = (String)entry.getValue();

}
bolink5 2009-09-12
  • 打赏
  • 举报
回复
LZ你的结贴率太低了啊,这会影响你的帖子回复啊

个人见解!~
bolink5 2009-09-12
  • 打赏
  • 举报
回复
List<HashMap> list= 从数据库中查出的数据

for(int i=0;i<list.size();i++){
Map map = list.get(i);
map.get(Object key);
}

基本上就是这样了,我在ssh开发中是这样写的
config_man 2009-09-12
  • 打赏
  • 举报
回复
Map m = new HashMap();
m.get(Object key);
loveofmylife 2009-09-12
  • 打赏
  • 举报
回复
hashMap是键值对,你可以把vcagentid当做键,然后把vcagentname和vcpsw当做一个字符串放入该键应射的值中。
根据键值取values使用get(Object key)

62,614

社区成员

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

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