博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Map与List数据操作
阅读量:4631 次
发布时间:2019-06-09

本文共 1625 字,大约阅读时间需要 5 分钟。

为避免与数据库的多次连接,减少数据库的压力,先将所有的订货数据先从数据库中抽取出来,而后再将数据按门店进行分类汇总以备待用,Map与List混合操作,理解数据结构。提神醒脑哦。

以下是原始数据结构:
[{store_id=020, GoodsCode=04304654, Qty=8.000},
{store_id=956, GoodsCode=04304685, Qty=7.000},
{store_id=956, GoodsCode=04304715, Qty=6.000},
{store_id=956, GoodsCode=04304722, Qty=2.000}]

 

以下是想要的数据结构:

[
{store_id=020, orderList=[{GoodsCode=04304654, Qty=8.000}]},
{store_id=956, orderList=[{GoodsCode=04304685, Qty=7.000},{GoodsCode=04304715, Qty=6.000},{GoodsCode=04304722, Qty=2.000}]}
]

以下是实现代码:

1.用一层循环从数据中找出门店的store_id;
2.通过判断循环的store_id是否在新创建的数组中存在来保证其唯一性;
3.在用唯一的store_id来获取属于该门店的订货信息

1 public List
> allOrderedStore(List
> allStoreOrderDetails) { 2 List
storeList = new ArrayList
(); 3 List
> allOrderedStoreList =new ArrayList
>(); 4 5 for (int i = 0; i < allStoreOrderDetails.size(); i++) 6 { 7 String storeId=allStoreOrderDetails.get(i).get("store_id").toString(); 8 9 if (!storeList.contains(storeId)) 10 { 11 storeList.add(storeId);12 Map
Map = new HashMap
();13 Map.put("storeid", storeId);14 List
> orderlist =new ArrayList
>();15 for (int j = 0; j < allStoreOrderDetails.size(); j++) {16 if(storeId.equals(allStoreOrderDetails.get(j).get("store_id"))){17 Map
orderMap = new HashMap
();18 orderMap.put("GoodsCode", allStoreOrderDetails.get(j).get("GoodsCode"));19 orderMap.put("Qty", allStoreOrderDetails.get(j).get("Qty"));20 orderlist.add(orderMap);21 }22 }23 Map.put("orderList", orderlist);24 allOrderedStoreList.add(Map);25 }26 }27 return allOrderedStoreList;28 }

 

转载于:https://www.cnblogs.com/maoBable/p/8964483.html

你可能感兴趣的文章
Python 获取计算机全名(fully qualified host name)
查看>>
隐士等待与显示等待
查看>>
【转】html树形菜单控件
查看>>
C# winform 弹框提示内存不足
查看>>
ZYJ_MainActivity
查看>>
Struts2框架的常量属性及包含其他配置文件
查看>>
weiphp 投票插件的主控制器部分代码
查看>>
ZOJ--1610-Count the Colors
查看>>
资源 | 普通程序员如何自学机器学习
查看>>
如何判断一个数是否为素数
查看>>
基本控件学习以( RadioGroup和RadioButton 的学习使用)
查看>>
Test Scenarios for Excel Export functionality
查看>>
5月3日上课笔记-XML解析
查看>>
【嵌入式开发】Raspberry Pi 树莓派性能测试
查看>>
【Qt开发】设置Qt应用程序图标
查看>>
CentOS 6.2 安装kdbg
查看>>
libevent源码分析:event_assign、event_new
查看>>
a new start in cnblogs
查看>>
luogu 2216 理想的正方形 单调队列(其实没有DP)
查看>>
在控制台应用程序下,创建窗口,避开WinMain函数入口
查看>>