使用List<Map>或者List<entityObject>计算指定属性的总和
来源:互联网 发布:mysql 连接127.0.0.1 编辑:程序博客网 时间:2024/06/06 11:48
上班时间偷个闲,回想自己在写项目的时候用到的大神之作,后进行改编,哈哈,好高大上的感觉。
实现代码:
@SuppressWarnings({ "unchecked" }) private static<T> void totalScore(List<T> srouce, String totalScore, String... keys){ if(CollectionUtils.isNotEmpty(srouce) && keys.length != 0){ for(T t : srouce){ int total = 0; if(t instanceof Map){ Map<String, String > srouceData = (Map<String, String>)t; for(String key : keys){ total += Float.parseFloat(srouceData.get(key)); } srouceData.put(totalScore, String.valueOf(total)); }else{ //使用实体类对象的时候,属性必须是public try { for(String key : keys){ String score = t.getClass().getField(key).get(t).toString(); total += Float.parseFloat(score); } t.getClass().getField(totalScore).set(t, String.valueOf(total)); } catch (Exception e) { e.printStackTrace(); } } } } }
里边的内容要根据实际情况改变,代码不是万能,抄袭别人的也不是完全符合,所以就想一些简单的例子去实现它,理解它。
例子:
public static <T> void main(String[] args) {// eg1: List<Map<String, String>> dd = new ArrayList<>(); Map<String, String> map = new HashMap<>(); map.put("a", "1"); map.put("b", "2"); map.put("c", "3"); map.put("d", "n"); dd.add(map); totalScore(dd, "d", new String[]{"a","b","c"}); System.out.println(dd); //结果:[{a=1, b=2, c=3, d=6}]// eg2: List<Sd> sd = new ArrayList<>(); Sd sds = new Sd("2", "3"); sd.add(sds); totalScore(sd, "sd", new String[]{"s","d"}); System.out.println(sd);// 结果:[Sd [s=2, d=3, sd=5]] }
用到的实体:
class Sd{ public String s; public String d; public String sd; public Sd(String s, String d) { super(); this.s = s; this.d = d; } public String getS() { return s; } public void setS(String s) { this.s = s; } public String getD() { return d; } public void setD(String d) { this.d = d; } public String getSd() { return sd; } public void setSd(String sd) { this.sd = sd; } @Override public String toString() { return "Sd [s=" + s + ", d=" + d + ", sd=" + sd + "]"; }}
哈哈哈,,这样就完美了。
没想到这种想法可以用到很多的地方;虚心学习……
阅读全文
0 0
- 使用List<Map>或者List<entityObject>计算指定属性的总和
- map-list的使用
- List 指定属性排序
- Map,List 迭代器的使用
- 区别与网上的数据库备份恢复:使用内存集合list或者map
- 使用fastjson的parseObject方法将json字符串转换成Map 或者List
- JSP中遍历map里的list,或者 遍历list里的map
- java List 指定属性排序
- list作为map使用
- Dom4j解析XML文本,遍历指定节点下的节点内容和属性,并存入List<Map<String,Object>
- List, Map, Set与Iterator的使用
- STL------list、set、map的简单使用
- C#中collection,list,map的使用
- pojRank List 数据结构map的使用
- java中set,list,map的使用
- Python 使用list实现简单的map
- Java集合的使用:List与Map
- list、set、Map的区别和使用
- JavaScript for循环和for循环嵌套
- HTML5 CSS3专题 纯CSS打造相册效果
- python编程中的if __name__ == 'main': 的作用和原理
- 欢迎使用CSDN-markdown编辑器
- Python爬虫利器之Beautiful Soup的用法
- 使用List<Map>或者List<entityObject>计算指定属性的总和
- Mybatis日志文件的配置
- 用asp.net程序备份或还原SQLServer
- django中的CSRF
- HDU 2473 Junk-Mail Filter(并查集删除节点)
- springmvc_对静态文件的加载
- 小猴子下落——个人c++解
- struts2内置验证器
- Makefile中常见的自动变量和含义