java定义这个商品类,重写equals方法,除了认证码,和商品编码,其他的一样就相等。否则不相等,显示的时候再判断下就好了

解决方案 »

  1.   

    遍历这个出来的结果列表,把认证码的前13位当作键丢进MAP,每次丢的时候判断是否存在这个认证码的前13位的键,MAP的键为认证码的前13位值为你的那个商品的对象
      

  2.   

    /**
     *  以下代码属于示例代码,仅供参考。
    **/
    //将商品进行分组,保持在group对象里。key是认证码的前13位,value是相同产品的产品信息。
    HashMap<String,List<Product>> group = new HashMap<String,List<Product>>();
    //遍历查询结果
    for(Product p : ResultSet<Product>){
      String code = p.get认证码().substring(0,13);//取产品认证码的前13位。
      List<Product> list = group.get(code);
      if(list==null){//新的分组
        list = new ArrayList<Product>();
        group.put(code,list);
      }
      list.add(p);
    }//end for 完成分组操作
    //输出结果。
    for(List<Product> list : group.valuse()){
      if(list.size()>1){//有多个相同商品
         for(Product p : list){
           //TODO 输出相同商品的认证码
         }
        for(Product p : list){
           //TODO 输出相同商品的商品编号
         }
      }else{//只有一个商品
        //TODO 输出单一商品的信息
      }
    }