Before and after the calculation of the mean count

public Map<String, Object> selectCompareAch(int start, int limit,
            String order, String sort, String conditions, String searchStr,String price)
            throws Exception {
        List<Compare> list = compareDao.selectCompareAch(start, limit, order, sort, conditions, searchStr,price);
        
        if(list!=null && list.size() > 0 ) {
            int t=0;

            Double sum=Double.valueOf(list.get(t).getPrice());
//            if(list != null && list.size()>1){
                for(int i=1; i<list.size(); i++){
                    Compare c1 = list.get(t);
                    Compare c2 = list.get(i);
                    if (c1.getModelName().equals(c2.getModelName())){
                        sum += Double.valueOf(list.get(i).getPrice());
                    } else {
                        Double avg = Double.valueOf(sum)/(i-t);
                        for( int j=t; j<i; j++){
                            list.get(j).setPrice(String.valueOf(avg));
                        }
                        t=i;
                        sum=Double.valueOf(c2.getPrice());
                    }
                }
                Double avg = Double.valueOf(sum)/(list.size()-t);//合并
                for( int j=t; j<list.size(); j++){
                    list.get(j).setPrice(String.valueOf(avg));
                }
//            }
        }
        
        
        int count = compareDao.countCompareAch(start, limit, order, sort, conditions, searchStr,price);

        Map<String, Object> map = new HashMap<String, Object>();
        map.put("rows", list);
        map.put("total", count);
        return map;
    }

 

public Map<String, Object> selectCompareAch(int start, int limit,String order, String sort, String conditions, String searchStr,String price)throws Exception {List<Compare> list = compareDao.selectCompareAch(start, limit, order, sort, conditions, searchStr,price);if(list!=null && list.size() > 0 ) {int t=0;
Double sum=Double.valueOf(list.get(t).getPrice());//if(list != null && list.size()>1){for(int i=1; i<list.size(); i++){Compare c1 = list.get(t);Compare c2 = list.get(i);if (c1.getModelName().equals(c2.getModelName())){sum += Double.valueOf(list.get(i).getPrice());} else {Double avg = Double.valueOf(sum)/(i-t);for( int j=t; j<i; j++){list.get(j).setPrice(String.valueOf(avg));}t=i;sum=Double.valueOf(c2.getPrice());}}Double avg = Double.valueOf(sum)/(list.size()-t);for( int j=t; j<list.size(); j++){list.get(j).setPrice(String.valueOf(avg));}//}}int count = compareDao.countCompareAch(start, limit, order, sort, conditions, searchStr,price);//List<Compare> l = new ArrayList<Compare>();//int index=0;//for (int k=0; k<list.size(); k++){//String avg = list.get(k).getPrice();//if (Integer.valueOf(avg) <= Integer.valueOf(price)){//l.add(list.get(k));//index++;//}////}Map<String, Object> map = new HashMap<String, Object>();map.put("rows", list);map.put("total", count);return map;}

 

Guess you like

Origin www.cnblogs.com/Yusco/p/10959571.html