給List裏添加一字段並賦值

有這麼個問題,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("\r");
    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);

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章