ArrayList 转换的问题

wzrlover 2005-05-02 03:50:06
这样的一个结果集:
name date total
a 3 100
a 4 200
a 5 300
a 6 400
b 3 500
b 4 600
b 5 700
b 6 800
(也即,SQL group by name ,date)
结果行以Map封装存放到ArrayList 对象,如:
ArrayList resultList =new ArrayList();
Map M1=new HashMap();
M1.put("name","a");
M1.put("date","2");
M1.put("total","800");
....
Map Mn=new HashMap();
Mn.put("name","b");
Mn.put("date","2");
Mn.put("total","100");
resultList.add(M1);
..
resultList.add(Mn);

现需要将resultList转换为如下形式:
name date total
a new int[]{3,4,5,6} new int[]{100,200,300,400}
b new int[]{3,4,5,6} new int[]{500,600,700,800}

也即,只要name相同,date,total转换为整形数组,转换后的ArrayList每一行也是以Map对象封装
如何实现?
...全文
146 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzrlover 2005-05-03
  • 打赏
  • 举报
回复
已经实现了,其实我是要做数据图形化分析,也就是画时间曲线图形(jfreechart),才会有这个需求
WinFastNcr 2005-05-02
  • 打赏
  • 举报
回复
GZ
soft1000 2005-05-02
  • 打赏
  • 举报
回复
同意楼上的!
lingfengtree 2005-05-02
  • 打赏
  • 举报
回复
不知你的系统架构是怎么样的。
如果查出来的结果直接去转换的就只能去循环了;如果你有一个一张数据表放在一个class里面(vo对象),那么,你可以在vo里面加多一个字段,设定一些条件,然后再取这个字段就可以了,这样转换就利用到vo方便一些,不用循环转换得那么辛苦,结构也清析一点。
kingfish 2005-05-02
  • 打赏
  • 举报
回复
这种结构和这种要求下,觉得没什么办法,只能循环去做了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧