0
点赞
收藏
分享

微信扫一扫

Java8利用Lambda快速生成map、多层嵌套map

minute_5 2022-04-03 阅读 122
java后端

List 转为 Map<id, bean>

  • User是List对象的元素,List

  • List对象的变量名为:userList

  • id 将作为 Map 的 Key

    Map<String, User> idMap =
    userList.stream().collect(
    Collectors.toMap(User::getId, b->b)
    );

一主多子 javaBean List 转为 Map<id, Map<id, itemBean> >

一主,主Bean: User
多子,子Bean: UserItem
集合:List
转Map:Map<User_id, Map <UserItem_id, UserItem> >

Map<String, Map<String, UserItem>> collect = 
	userList.stream().collect(
		Collectors.toMap(
			User::getId, b -> {
				return b.getUserItem().stream().collect(
						Collectors.toMap(UserItem::getId, c -> c)
				);
            }
        )
    );
举报

相关推荐

0 条评论