礼拜一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
- 礼拜一log~java Map & 层级筛选代码
- 礼拜一log~SiteMesh技术 & 一些css技巧
- java代码筛选文件
- 礼拜一log~tag lib标签 & java ArrayList去重方式 & Mac本下对类声明的查询方法
- (礼拜二log)java 构建层级关系的递归算法
- 礼拜一log:获取a标签隐藏属性的方法
- (礼拜一log)前端开发:children和find函数;position属性
- (礼拜一log)后台&前端联调:.tld应用
- (礼拜一log)前端开发:jsp中获得当前时间
- Android 自定义分层级筛选控件
- map log
- 判断层级代码
- 礼拜一log~flexslider埋坑指南 firefox火狐浏览器不支持zoom的解决办法
- thinkphp $map 筛选方法
- Android抓取不同层级Log的方式
- java实现map-reduce代码
- 用Log的方式调试java代码
- 用java代码计算Log(a)b
- 使用PHP简单操作Memcached
- css中的多样化文本阴影:text-shadow
- ACM-problem C
- android shape的使用
- 多用块枚举,少用for循环
- 礼拜一log~java Map & 层级筛选代码
- Linux基础总结
- 【Java80小白建站系列】7.系列搬家至www.java80.com/blog/index.htm
- 事件分发
- 数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示
- Android 二维码扫描基于Google Zxing(仿微信)
- iOS NSClassFromString 详解
- 告别数据线,使用无线进行真机测试
- c 文件拷贝 fopen fwrite fread