zoukankan      html  css  js  c++  java
  • JavaWeb学习记录(十四)——商城购物之字符串拼接实现最近浏览商品和购物车的功能

    一、字符串拼接的工具类

    package blank.util;

    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;
    import java.util.TreeMap;
    import java.util.Vector;
    import java.util.Map.Entry;

    public class StringUtil {
        
        public static String jointStr(String sid,String id){
            Vector<String> ids=new Vector<String>();
            if(sid!=null&&sid.equals(id)){
                return sid;
            }else{
                //拆分
                String[] sids=sid.split(":");
                if(sids.length==1){
                    return id+":"+sid;
                }else{
                    for(String i:sids){
                        ids.add(i);
                    }
                    if(ids.contains(id)){
                        String first=ids.firstElement();
                        if(first.equals(id)){
                            return sid;
                        }else{
                            //先删除
                            ids.remove(id);
                            ids.add(0, id);
                            String newValue="";
                            for(int i=0;i<ids.size();i++){
                                String value=ids.elementAt(i);
                                if(i==0){
                                    newValue=value;
                                }
                                else{
                                    newValue=newValue+":"+value;
                                }
                            }
                            return newValue;
                        }
                    }else{
                        return id+":"+sid;
                    }
                }
            }
        }
        
        public static String jointStr(String ids,String id,Integer num){
            Map<String,Integer> map=new TreeMap<String, Integer>();
            if("".equals(ids)){
                return id+":"+num;
            }else{
                String[] tids=ids.split(",");    
                if(tids!=null){
                    for(String tid:tids){
                        String[] idnum=tid.split(":");
                        map.put(idnum[0], Integer.valueOf(idnum[1]));
                    }
                }
                if(map.containsKey(id)){
                    map.put(id, map.get(id)+num);
                    Set<Entry<String, Integer>> entities=map.entrySet();
                    Iterator<Entry<String, Integer>> iter=entities.iterator();
                    int count=0;
                    String newValue="";
                    while(iter.hasNext()){
                         Entry<String, Integer> entity=iter.next();
                         String key=entity.getKey();
                         Integer value=entity.getValue();
                         String temp=key+":"+value;
                         if(count==0){
                             newValue=temp;
                         }else{
                             newValue=newValue+","+temp;
                         }
                         count++;
                    }
                    return newValue;
                }else{
                    ids=ids+","+id+":"+num;
                    return ids;
                }
            }
        }
    }

    说明:第一个方法用于记录最近浏览商品的id号,拼接形式为2:3:4。当有重复浏览时,原来重复的被删除,最近一次的浏览会置前。

      第二个方法用于记录购物车的商品id和数量,拼接形式为2:1,3:4,代表含义为id为2的商品数量为1,id为3的商品数量是4。

  • 相关阅读:
    JAVA应用程序占用CPU、内存过高分析过程
    html和css问题?
    html跳动的心实现代码
    css知识点总结
    html注册栏网页练习代码
    前端开发单词大全
    html常用代码合集
    html背景图星际导航图练习
    html迪士尼网页实现代码
    html阿里云网页练习实现代码
  • 原文地址:https://www.cnblogs.com/ly-radiata/p/4360698.html
Copyright © 2011-2022 走看看