关于#user#的问题,如何解决?

img


如何将它转换成

img

也就是将id一致的userId,合并起来,并且将一致的id去重

该回答引用chatgpt:亲测可用

img



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);
        }
    }


}


  • 你可以看下这个问题的回答https://ask.csdn.net/questions/997109
  • 这篇博客你也可以参考下:钉钉的微应用获取用户userid或工号
  • 除此之外, 这篇博客: 企微获取成员userID中的 2、获取子部门ID列表 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • **请求方式:**GET(HTTPS
    **请求地址:**https://qyapi.weixin.qq.com/cgi-bin/department/simplelist?access_token=ACCESS_TOKEN&id=ID

    参数说明 :

    参数必须说明
    access_token调用接口凭证
    id部门id。获取指定部门及其下的子部门(以及子部门的子部门等等,递归)。 如果不填,默认获取全量组织架构