也就是将id一致的userId,合并起来,并且将一致的id去重
该回答引用chatgpt:亲测可用
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) {
List<Map<String, Object>> maplist = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("id", "1");
map.put("userId", "54126");
maplist.add(map);
map = new HashMap<>();
map.put("id", "2");
map.put("userId", "7822c8");
maplist.add(map);
map = new HashMap<>();
map.put("id", "3");
map.put("userId", "2b037");
maplist.add(map);
map = new HashMap<>();
map.put("id", "3");
map.put("userId", "5ac3");
maplist.add(map);
map = new HashMap<>();
map.put("id", "3");
map.put("userId", "fob3");
maplist.add(map);
Map<String, String> mergedMap = new HashMap<>();
for (Map<String, Object> entry : maplist) {
String id = (String) entry.get("id");
String userId = (String) entry.get("userId");
if (mergedMap.containsKey(id)) {
String mergedValue = mergedMap.get(id) + "," + userId;
mergedMap.put(id, mergedValue);
} else {
mergedMap.put(id, userId);
}
}
List<Map<String, Object>> mergedList = new ArrayList<>();
for (Map.Entry<String, String> entry : mergedMap.entrySet()) {
Map<String, Object> mergedEntry = new HashMap<>();
mergedEntry.put("id", entry.getKey());
mergedEntry.put("userId", entry.getValue());
mergedList.add(mergedEntry);
}
// 打印合并后的maplist
for (Map<String, Object> entry : mergedList) {
System.out.println(entry);
}
}
}
**请求方式:**GET(HTTPS)
**请求地址:**https://qyapi.weixin.qq.com/cgi-bin/department/simplelist?access_token=ACCESS_TOKEN&id=ID
参数说明 :
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
id | 否 | 部门id。获取指定部门及其下的子部门(以及子部门的子部门等等,递归)。 如果不填,默认获取全量组织架构 |