礼拜一log~java Map & 层级筛选代码

来源:互联网 发布:scrollreveal.js 教程 编辑:程序博客网 时间:2024/05/16 07:38

java Map基本用法

//1.声明一个Map :Map map = new HashMap();//2 .向map中放值 ,注意: map是key-value的形式存放的,如:map.put("sa","dd");//3 .从map中取值 :String str = map.get("sa").toString,//结果是: str = "dd'//4 .遍历一个map,从中取得key和value :Map m= new HashMap();for(Object obj : map.keySet()){    Object value = map.get(obj );}

层级筛选 代码
所谓层级筛选,就是比如说:京东页面顶端的那个过滤商品的横条条们~勾选的要求越多,能筛选出来的合格商品就越少。
本段代码是按照4种条件筛选的。

@RequestMapping(value = "indexFilter-{www}${urlSuffix}")    public String indexFilter(@RequestParam String filterInfo, @PathVariable String www, HttpServletRequest request, HttpServletResponse response, ModelMap model)    {        Site site = CmsUtils.getSiteWWW(www);        model.addAttribute("site", site);        // 获得产品列表(完整)        Page<ExhibitionCom> page = getPage(request,response);        //int countItems = (int)page.getCount();        // 新建商品列表        List<ExhibitionCom> list = new ArrayList<ExhibitionCom>();        List<ExhibitionCom> tempListExCom = page.getList();        // 处理字符串        // index:1,3,5... name:0,2,4...        String[] filterInfos = filterInfo.split("xxxxx");        int filterInfosNum = filterInfos.length/2;        // 建立数据结构        Map<String,List<String>> nameMap = new HashMap<String,List<String>>();        for(int l=0;l<4;l++){            List<String> nameList = new ArrayList<String>();            nameMap.put(l+"", nameList);        }        for(int i=0;i<filterInfosNum;i++){            String index = filterInfos[2*i+1];            //int indexNum = Integer.parseInt(index);            String name = filterInfos[2*i];            nameMap.get(index).add(name);        }        // 为列表添加项目 层级筛选        list = filter(request,response,tempListExCom,nameMap.get("0"),0);        list = filter(request,response,list,nameMap.get("1"),1);        list = filter(request,response,list,nameMap.get("2"),2);        list = filter(request,response,list,nameMap.get("3"),3);        model.addAttribute("list", list);        // 页码页面        // 一页pageItemsNum个数据        double pageSumNum = (double)list.size()/(double)(pageItemsNum);        pageSumNum = Math.ceil(pageSumNum);        // 页码编号123...        model.addAttribute("pageNum", 1);        // 当前页码        int pageNow = 1;        model.addAttribute("pageNow", pageNow);        return "hhxypt/front/themes/exhibition/ajaxGetExhibitionCom";    }    public List<ExhibitionCom> filter(HttpServletRequest request, HttpServletResponse response,List<ExhibitionCom> list,List<String> name,int index){        // index 0:农展会 1:销售厂家 2:经营模式 3:售卖方式        int nameNum = name.size();        if (nameNum==0){            // 空列表,二话不说马上返回!            return list;        }        int listLength = list.size();        String tmpString = "";        ExhibitionCom tmpExhCom = new ExhibitionCom();        List<ExhibitionCom> listReturn = new ArrayList<ExhibitionCom>();        switch(index){        case 0:            ExhibitionBasic exb = new ExhibitionBasic();            for(int i=0;i<listLength;i++){                tmpExhCom = list.get(i);                exb = ExhibitionUtils.getExhibitionBasic(tmpExhCom.getExhibitionBasic().getId());                for(int j=0;j<nameNum;j++){                    if(exb.getName().equals(name.get(j))){                        listReturn.add(tmpExhCom);                    }                }            }            break;        case 1:            for(int j=0;j<listLength;j++){                tmpExhCom = list.get(j);                for(int m=0;m<nameNum;m++){                    if(tmpExhCom.getRetailer().equals(name.get(m))){// 供应商                        listReturn.add(tmpExhCom);                    }                }            }            break;        case 2:            for(int j=0;j<listLength;j++){                tmpExhCom = list.get(j);                tmpString = tmpExhCom.getMode();                tmpString = DictUtils.getDictLabel(tmpString,"managing_Mode","");                tmpString = tmpString.replaceAll("\\+", " ");                for(int m=0;m<nameNum;m++){                    if(tmpString.equals(name.get(m))){                        listReturn.add(tmpExhCom);                    }                }            }            break;        case 3:            for(int m=0;m<listLength;m++){                tmpExhCom = list.get(m);                tmpString = tmpExhCom.getMarketingMode();                tmpString = DictUtils.getDictLabel(tmpString,"marketing_Mode","");                //tmpString = tmpString.replaceAll("\\+", " ");                for(int k=0;k<nameNum;k++){                    if(tmpString.equals(name.get(k))){                        listReturn.add(tmpExhCom);                    }                }            }            break;        default:            System.err.println("indexWrongNum indexFilter");            break;        }        return listReturn;    }
0 0
原创粉丝点击