首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
一路向北hhh
获赞
16
粉丝
1
关注
0
看过 TA
5
门头沟学院
2021
Java
IP属地:上海
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑一路向北hhh吗?
发布(2)
评论
刷题
收藏
一路向北hhh
关注TA,不错过内容更新
关注
2022-05-29 12:24
门头沟学院 Java
有没有学习算法的书籍推荐一下,本人算法小白
各位大佬推荐一下
0
点赞
评论
收藏
分享
2022-05-17 00:17
门头沟学院 Java
问下大家 什么算法可以快速将上面的数据处理成下面的格式。
FARO_Z:
答案无法设置代码格式,复制到 ide 里凑合看吧: ```java public class TableSerializer { @Test void tableSerializerTest() { List<Address> addresses = new ArrayList<>(); addresses.addAll(Arrays.asList(new Address("1", "北京市", 1, "0",new ArrayList<>()), new Address("2", "朝阳区", 2, "1",new ArrayList<>()), new Address("3", "望京街道", 3, "2",new ArrayList<>()), new Address("4", "海淀区", 2, "1",new ArrayList<>()))); TableSerializer serializer = new TableSerializer(); List<Address> serializedAddresses = serializer.serialize(addresses); Gson gson = new Gson(); System.out.println(gson.toJson(serializedAddresses)); } public List<Address> serialize(List<Address> addresses) { HashMap<String, List<Address>> idMap = new HashMap<>(); ArrayList<Address> res = new ArrayList<>(); for (Address address : addresses) { idMap.putIfAbsent(address.getPid(), new ArrayList<>()); idMap.get(address.getPid()).add(address); } res.addAll(idMap.get("0")); for (Address address : addresses) { address.children.addAll(Optional .ofNullable(idMap.get(address.getId())) .orElseGet(()->new ArrayList<>())); } return res; }
@Data
@AllArgsConstructor @NoArgsConstructor static class Address { private String id; private String name; private Integer level; private String pid; private List<Address> children; } } ```
查看图片
Java学习交流
0
点赞
评论
收藏
分享
1
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客企业服务