牛骨文教育服务平台(让学习变的简单)
博文笔记

给List里添加一字段并赋值

创建时间:2012-07-04 投稿人: 浏览次数:16705

有这么个问题,oracle查出来数据如下:

ID NAME DAY

001 路径1 28

002 路径2 26

003 路径3 29

004 路径4 24

... ... ...

现想在 这个 List李加入一个字段并赋值

ID NAME DAY AVGDAY

001 路径1 28 26.75

002 路径2 26 26.75

003 路径3 29 26.75

004 路径4 24 26.75

... ... ... ...

这个结果不能在sql里处理,只能用java程序,现平均值已经算出来了,怎么往list里的每行数据里加入这个字段并赋值?

 

 

答案:

 

 

如果list放的是对象,那对象就要加一个AVGDAY变量,和相应get,set方法。

如果是List里放Map那相对容易一些。

循环List,将里面的每一个Map,put进AVGDAY的值。

类似 List<Map> list =new ArrayList<Map>();//当然这里list是你从数据库中查询出的集合。

for(Map map : List){

       map.put("AVGDAY", 26.75);

}

 

实际例子 :

 

 

 

Map map = new HashMap();
    map.put("FORGID", forgid);
    map.put("FRCODE", frcode);
    map.put("PATHID", pathid);
    if(type!=null && !"".equals(type)){
    map.put("TYPE", type);
    }
    List<Map> pgdyList = getPathWHImpl().getPgdyList(map);
    System.out.print(pgdyList.size());
    System.out.println(" ");
    int i = 0;
    int j = 0;
       int sum = 0; //总和
       int avg = 0; //平均值
       while(i < pgdyList.size()){
        sum += Convert.toInteger(((HashMap)pgdyList.get(i)).get("PGBH").toString());
        i++;
       }
       avg = sum/pgdyList.size();
       /**
        * 循环将平均值放入查询结果中
       List<Map> list = new ArrayList<Map>();//当然这里list是你从数据库中查询出的集合。
        */
    for(Map map1 : pgdyList){
        map1.put("AVGDAY", avg);
    }
    
    
    modelAndView.addObject("pgdyList", pgdyList);

 

 

 

 

 

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。