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

minute_5

关注

阅读 122

2022-04-03

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)

0 0 举报