数据库中有一张表,表的结构类似于
name   work
xxx    hhh
xxx    gggg
xxx    eeee
ddd    gggg
ddd    xxxs
zzz    yyyy
我现在把他加载到内存中,name,work封装成两个LIST,以MAP.Put("name",nameList),Map.Put("work",workList);方法返回一个Map。在页面中取得一个String类型的字段。String是nameList中的一个元素。怎么才能取得相对应的work?期待解决。说明返回Map的方法不能接收参数。有其他解决方法也可以提。

解决方案 »

  1.   

    根据其中一个所在的索引位置来取另一个
    两个map相同点在 nameList 的索引和 workList的索引一样
    List nameList =(List)MAP.get("name");
    List workList = (List)MAP.get(work);
    for(int i=0;i<nameList||i<workList;i++)
    {
      System.out.println(nameList.get(i).toString()+"  "+workList.get(i).toString());
    }
      

  2.   

    for(int i=0;i <nameList.length() ¦ ¦i <workList.length();i++) 

      System.out.println(nameList.get(i).toString()+"  "+workList.get(i).toString()); 
    }
      

  3.   


    package csdn;import java.util.ArrayList;
    import java.util.HashMap;public class Test3
    {
    static ArrayList<String> nameList =new ArrayList<String>(); 

    static ArrayList<String> workList =new ArrayList<String>(); 

    static HashMap<String,ArrayList> map = new HashMap<String,ArrayList>();
    {
    nameList.add("zhao");
    workList.add("work");
    }
    public static void main(String[] args)
        {   
         String work = getWork();
        }
        static String getWork() {
         for(int i=0;i<nameList.size();i++) {
         if(nameList.get(i).equals("str")) {
         return workList.get(i);
         }
         }
         return null;
        }
    }
      

  4.   


    //不好意思,少了个static
    package csdn;import java.util.ArrayList;
    import java.util.HashMap;public class Test3
    {
    static ArrayList<String> nameList =new ArrayList<String>(); 

    static ArrayList<String> workList =new ArrayList<String>(); 

    static HashMap<String,ArrayList> map = new HashMap<String,ArrayList>();
    static {
    nameList.add("zhao");
    workList.add("work");
    }
    public static void main(String[] args)
        {   
         String work = getWork();
        }
        static String getWork() {
         for(int i=0;i<nameList.size();i++) {
         if(nameList.get(i).equals("str")) {
         return workList.get(i);
         }
         }
         return null;
        }
    }