我有如下代码:
  List<quadUnit> mylist = new ArrayList<quadUnit>();
int procID=3;
Long instanceID=(long)1041;
quadUnit afield=new quadUnit();
for (int i=0;i<4;i++)
{
afield.keyword1="a"+i;
afield.keyword2="b"+i;
afield.keyword3="c"+i;
mylist.add(afield);
}
 
想把mylist转为map。该如何做?

解决方案 »

  1.   

    写个循环  把ArrayList里面的元素一个一个拿出来,然后再放进map里面~~~
      

  2.   

    用循环吧ArrayList 中的元素取出来   然后以其中的唯一列  来做键  循环一次将取出的值向Map 中添加一次
      

  3.   

    是不是这样
    map.put('xxxx',afield[i]);
      

  4.   

    To:GG_910511
     我有keyword1、keyword2、keyword3该如何添加?
      

  5.   

    以前师兄写过的一段代码你可以参考下:
    listUserSkill = new ArrayList< Map<String, String> >();
     while(rs.next()) {
                        HashMap<String, String> map = new HashMap<String, String>();
                        map.put("UserSkillValue", Float.toString(rs.getFloat("UserSkillValue")) );
                        map.put("SkillName", rs.getString("SkillName"));
                        map.put(...,...);
                        ...//数据库中的每一行中的所有字段都可以存在一个map中
                        listUserSkill.add(map);//这个map成为动态数组的一个元素
                    }
      

  6.   

    map类型是名值对,一个名对应一个值不可能三个键对应一个值的~~
    换个数据结构吧
      

  7.   

    是一个对一个,但是没看见我用循环取的吗,就算是n个键值都可以存起来的.其实就是数据库表中的每个键值(一列)的某一个值存在map里了,但是是同时把n个键值的同一行的数据存在一个map里的.比如:
    键值 你 我 他
         1  2  3
         4  5  6
         7  8  9
         .  .  .
         .  .  .
    一次循环就把3个键值对应的某一行存在一个map里,比如一次性可以把1,2,3这3个键值的数据存起来,然后这个map成为list动态数组的一个元素.
      

  8.   


    Map<Integer,quadUnit> myMap = new HashMap<Integer,quadUnit>();
    int procID=3;
    Long instanceID=(long)1041; 
    quadUnit afield=new quadUnit();
    for (int i=0;i<4;i++)
    {
    afield=new quadUnit();afield.keyword1="a"+i;
    afield.keyword2="b"+i;
    afield.keyword3="c"+i;
    myMap.put(i, afield);
    }