情况是这样的
{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的值。
谢谢了。

解决方案 »

  1.   

    hashMap是键值对,你可以把vcagentid当做键,然后把vcagentname和vcpsw当做一个字符串放入该键应射的值中。
    根据键值取values使用get(Object key)
      

  2.   

    Map m = new HashMap();
    m.get(Object key);
      

  3.   

      List<HashMap>  list= 从数据库中查出的数据
       
       for(int i=0;i<list.size();i++){
        Map map = list.get(i);
        map.get(Object key);
      }   基本上就是这样了,我在ssh开发中是这样写的
      

  4.   

    你这样不行,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();}
      

  5.   

    MAP里面保存的是键值对,并且,键不重复。
    楼主为什么要把List里面的结果,转存到Map里面 ?
    如果不是要频繁访问那个结果List,就没有转存的必要,因为,转存也会浪费时间。
    既然转存了,那就要明确,键的内容是什么
    看楼主的查询结果,那个id的值,所有记录都相同,那就不能当作键来保存。
    那个name一般来讲,是允许重复存在在一张表里的。
    所以,关键就看vcpsw这个字段了,表面上看查询结果里面没有重复的,
    所以,推荐使用vcpsw作为Map的键,而Map的值,就保存你对应的List里面的对象就行了。
    这样,你在使用Map的时候,可以通过vcpsw值来找到相应的对象,然后从对象里面取得name值。