将List<Object[]>按照某字段值分类,对数据重新封装。
来源:互联网 发布:算法分析和复杂性理论 编辑:程序博客网 时间:2024/06/05 10:15
package cn.java.utils;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;import cn.java.bean.Probe;public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub List<Object[]> srcLst = new ArrayList<Object[]>(); Object[] objArr1 = {"probe00", "run", 3}; Object[] objArr2 = {"probe01", "run", 1}; Object[] objArr3 = {"probe02", "run", 1}; Object[] objArr4 = {"probe00", "stop", 1}; Object[] objArr5 = {"probe01", "stop", 1}; Object[] objArr6 = {"probe02", "stop", 1}; Object[] objArr7 = {"probe00", "fail", 1}; Object[] objArr8 = {"probe01", "fail", 1}; Object[] objArr9 = {"probe02", "fail", 1}; Object[] objArr10 = {"probe00", "suspend", 1}; Object[] objArr11 = {"probe01", "suspend", 1}; Object[] objArr12 = {"probe02", "suspend", 1}; srcLst.add(objArr1); srcLst.add(objArr2); srcLst.add(objArr3); srcLst.add(objArr4); srcLst.add(objArr5); srcLst.add(objArr6); srcLst.add(objArr7); srcLst.add(objArr8); srcLst.add(objArr9); srcLst.add(objArr10); srcLst.add(objArr11); srcLst.add(objArr12); List<Probe> proLst = new ArrayList<Probe>(); WebUtils.convToEntity(srcLst, proLst, "cn.java.bean.Probe"); for (Probe prb : proLst) { System.out.println(prb.getRnum() + ", " + prb.getFnum()); } Map<String, Probe> temp = new HashMap<String, Probe>(); for (Probe prb : proLst) { String prbName = prb.getProbeName(); String testType = prb.getTestStatus(); int rnum = prb.getRnum(); int snum = prb.getSnum(); int fnum = prb.getFnum(); if(null == temp.get(prbName)){ temp.put(prbName, prb); }else{ Probe temPrb = temp.get(prbName); int tempRnum = temPrb.getRnum(); int tempSnum = temPrb.getSnum(); int tempFnum = temPrb.getFnum(); if("run".equals(testType)){ temPrb.setRnum(rnum + tempRnum); }else if("stop".equals(testType)){ temPrb.setSnum(rnum + tempSnum); }else{ temPrb.setFnum(rnum + tempFnum); } } } List<Probe> prbLst = new ArrayList<Probe>(); for (Entry<String, Probe> ent : temp.entrySet()) { Probe val = ent.getValue();// System.out.println(val.getProbeName() + "运行:" + val.getRnum() + ", 停止:" + val.getSnum() + ", 失败:" + val.getFnum()); prbLst.add(val); } for (Probe prb : prbLst) { System.out.println(prb.getProbeName() + "运行:" + prb.getRnum() + ", 停止:" + prb.getSnum() + ", 失败:" + prb.getFnum()); } }}
probe02运行:1, 停止:1, 失败:2
probe01运行:1, 停止:1, 失败:2
probe00运行:3, 停止:1, 失败:2
- 将List<Object[]>按照某字段值分类,对数据重新封装。
- 通过字段对List<HashMap<String,Object>>进行分类
- List<Object>集合按照Object的某个字段排序,解决取不到父类字段问题
- List<HashMap<String, Object>> mylist...按照键值对来解析
- 对list集合中的对象按照字段属性排序
- js对Json数据按照某一字段排序的方法
- R语言对数据框按照某个字段排序
- List按照指定字段排序
- Java 将一个list按照某个字段分组后放入到一个新的list里面
- Java 将一个list按照某个字段分组后放入到一个新的list里面
- 根据对象的某个字段对List<Object>排序
- 【java】将List中的实体按照某个字段进行分组的算法
- 将List中的实体按照某个字段进行分组的算法
- list<bean>将集合按照bean中的某个字段降序排列
- 【java】将List中的实体按照某个字段进行分组的算法
- 将List中的实体按照某个字段进行分组的算法
- java算法实践 将list中的元素按照属性分类成树状的map
- 将list中的元素按照属性分类成树状的map
- Attachment Framework – An Example
- 鸟坛退役飞行员问答帖
- HDU 1498 50 years, 50 colors(多次进行最小点覆盖运算)
- hash partition 平衡分布数据的测试
- 第六天 C#面相对象以及Winform小结
- 将List<Object[]>按照某字段值分类,对数据重新封装。
- HDU-3074-Multiply game
- Peoplesoft: when will a databasechange be committed?
- php数组
- 如何通过函数修改实参的值
- linux多线程编程
- 结构体的使用概述
- 开发每个静态网站是的模版代码(自己开发是长期优化过的觉得最简的代码)
- const char*, char const*, char*const的区别