合并List<Map<String,String>>中的重复数据并对某个字段做累加
来源:互联网 发布:mac用哪个word 编辑:程序博客网 时间:2024/05/17 06:32
package demo;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class mergeData { public static void main(String[] args) { List<Map<String, String>> l = new ArrayList<Map<String, String>>(); Map<String, String> oneMap = new HashMap<String, String>(); oneMap.put("gsId", "8000"); oneMap.put("gsName", "总部集中处理中心"); oneMap.put("type", "D"); oneMap.put("yybcount", "3"); l.add(oneMap); Map<String, String> twoMap = new HashMap<String, String>(); twoMap.put("gsId", "8008"); twoMap.put("gsName", "南京长江路证券营业部"); twoMap.put("type", "H"); twoMap.put("yybcount", "14"); l.add(twoMap); List<Map<String, String>> twoList = new ArrayList<Map<String, String>>(); Map<String, String> oneMap1 = new HashMap<String, String>(); oneMap1.put("gsId", "8008"); oneMap1.put("gsName", "南京长江路证券营业部"); oneMap1.put("type", "H"); oneMap1.put("yybcount", "5"); twoList.add(oneMap1); Map<String, String> twoMap2 = new HashMap<String, String>(); twoMap2.put("gsId", "8008"); twoMap2.put("gsName", "南京止马营证券营业部"); twoMap2.put("type", "F"); twoMap2.put("yybcount", "9"); twoList.add(twoMap2); l.addAll(twoList); List<Map<String, String>> countList = new ArrayList<Map<String, String>>();// 用于存放最后的结果 for (int i = 0; i < l.size(); i++) { String gsId = l.get(i).get("gsId"); String type = l.get(i).get("type"); int flag = 0;// 0为新增数据,1为增加count for (int j = 0; j < countList.size(); j++) { String gsId_ = countList.get(j).get("gsId"); String type_ = countList.get(j).get("type"); if (gsId.equals(gsId_) && type.equals(type_)) { int sum = Integer.parseInt(l.get(i).get("yybcount")) + Integer.parseInt(countList.get(j).get("yybcount")); countList.get(j).put("yybcount", sum + ""); flag = 1; continue; } } if (flag == 0) { countList.add(l.get(i)); } } for (Map<String, String> map : countList) { System.out.println(map); } }}
{gsName=总部集中处理中心, yybcount=3, type=D, gsId=8000}
{gsName=南京长江路证券营业部, yybcount=19, type=H, gsId=8008}
{gsName=南京止马营证券营业部, yybcount=9, type=F, gsId=8008}
阅读全文
1 0
- 合并List<Map<String,String>>中的重复数据并对某个字段做累加
- List<Map<String, String>> 合并map的字段数据问题
- List<Map<String, String>>遍历相同数据合并(map里面某个key相同则合并数据)
- List<Map<String,Object>>按某个字段排序
- 去除List<Map<String,Object>>中的map中的重复值
- 对android常用数据集合List<Map<String,String>排序
- 去重list<Map<String,String>>结果中的某个map属性值
- 遍历List<String[]>并 转换为String[][],List<List<String>>,Map<String,String[]>
- 遍历List<String[]>并 转换为String[][],List<List<String>>,Map<String,String[]> .
- 当需要对一个list<Map<String,Object>>中的map添加一个相同的数据是可以参考
- List<Map<String, Object>> 中文字段排序
- 去除List<Map<String,Object>>中的map的重复值(精简版)
- 对List<Map<String,Object>>进行排序
- 将List<Map<String,String>>中的数据输出保存到TXT文本文件中
- 将List<Map<String,String>>中的数据输出保存到TXT文本文件中
- 去除List<String>中的重复元素
- list中根据map<String,Object>的某个值排序
- List<Map<String, String>> 转 Map<String, List<String>>
- Qt打包和打包软件
- 接口测试从未如此简单
- 学习编程的忠告---转
- JS图像映射
- Spark2.11 两种流操作 + Kafka
- 合并List<Map<String,String>>中的重复数据并对某个字段做累加
- canvas制作的简单时钟特效
- oracle索引失效
- 如何配置局域网
- Structured Streaming 输入输出
- Java基础github
- REDIS中意外的耗时命令-DEL-EXISTS
- 让用户故事真的像故事那样
- Android中如何区分TF【SD】卡路径和USB路径