JAVA 函数如何对多个JSONArray取交集,取并集
来源:互联网 发布:sql基础教程 pdf 编辑:程序博客网 时间:2024/06/10 15:40
/** * 根据JSONArray中JSONObject的id不同取交集 * @return */ public static JSONArray intersectResult(JSONArray... arrays){ JSONArray ret = new JSONArray(); if(arrays==null||arrays.length==0) return ret; Set<String> first_ids=new HashSet<String>(); Map<String,JSONObject> objs=new HashMap<String, JSONObject>(); JSONArray first=arrays[0]; for(int i=0;i<first.length();i++){ JSONObject o =first.getJSONObject(i); String id=o.getString("id"); first_ids.add(id); objs.put(id, o); } for(int i=1;i<arrays.length;i++){ JSONArray this_array=arrays[i]; Set<String> this_ids=new HashSet<String>(); for(int j=0;j<this_array.length();j++){ this_ids.add(this_array.getJSONObject(j).getString("id")); } first_ids.retainAll(this_ids); } for(String id : first_ids){ ret.put(objs.get(id)); } return ret; } /** * 根据JSONArray中JSONObject的id不同取并集 * @param arrays * @return */ public static JSONArray joinJSONArray(JSONArray... arrays){ JSONArray ret=new JSONArray(); Set<String> ids=new HashSet<String>(); for(JSONArray array : arrays){ if(array==null) continue; for(int i=0;i<array.length();i++){ JSONObject obj=array.getJSONObject(i); if(ids.contains(obj.get("id"))) continue; ret.put(obj); ids.add(obj.getString("id")); } } return ret; }
阅读全文
0 0
- JAVA 函数如何对多个JSONArray取交集,取并集
- MSSQL中如何取交集或并集
- 取两个字符串的并集与交集的函数
- sort uniq 取交集并集
- Java数组取交集
- C# 对List<T>取交集、差集以及并集
- shell对文件的处理。包括取交集、并集、去重等
- java list 取交集,差集
- MySQL中对查询的结果集取交集如何实现?
- java 两个字符串取交集
- java 取交集方法retainAll
- 海量数据取交集、并集-bitmap VS Redis
- C#对List中的数据进行取交集、并集、差集和去重操作的方法
- JSONArray 嵌套JSONArray 取值
- Java两个list合并取交集
- Java取两个集合的交集
- JSONObject,JSONArray取值
- C# 两个数组取交集/补集
- C++输入输出
- HTTP协议以及HTTP编程
- 递归条件一定要严谨
- springmvc框架
- http协议基础
- JAVA 函数如何对多个JSONArray取交集,取并集
- 声音分贝的概念,dBSPL.dBm,dBu,dBV,dBFS
- css 伪类 与 伪元素
- 设置右键菜单可以选择使用qtcreator打开
- 第2章、Linux 如何学习
- JavaScript 事件流
- yum搭建本地仓库以及保留下在的rpm包
- Java面向对象
- java复习笔记---集合类