是这样的,有个集合List型的,每个元素是一个Bean,其中有两个属性:id,unionId
想通过遍历这个集合返回一个Map,其中key是unionId,Value就是有相同unionId的Bean的集合List

解决方案 »

  1.   

    有点晕,可能没有看懂.import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;public class Test
    {
        public static void main(String[] args)
        { 
            List<Bean> list = new ArrayList<Bean>();
            list.add(new Bean(1));
            list.add(new Bean(2));
            list.add(new Bean(3));
            
            Map<Integer, Bean> map = new HashMap<Integer, Bean>();
            for (Bean bean : list)
            {
                map.put(bean.getId(), bean);
            }
        }
    }
    class Bean
    {
        private int id;
        public Bean(int id)
        {
            this.id = id;
        }
        public int getId()
        {
            return id;
        }
        public void setId(int id)
        {
            this.id = id;
        }}
      

  2.   


    List<Bean> beanList = givenList;
    public Map<String, List<Bean>> getBeanMap(beanList){
    if(null != beanList && beanList.size()>0) {
        Map<String, List<Bean>> beanMap = new HashMap<String, List<Bean>>();
        for(int i=0; i<beanList.size(); i++) {
            Bean bean = (Bean)beanList.get(i);
            String unionID= bean.getUnionID();
            List<Bean> tempBeanList = beanMap.get("unionID");
            if(null == tempBeanList) {
                tempBeanList = new ArrayList<Bean>();
                beanMap.put(unionID, tempBeanList);
            }
            tempBeanList.add(bean);
        }
        return beanMap;
    }
    return null;
    }