java map()_java map ->语法

这段代码创建了两个Person对象p1和p2,分别设置了它们的ID和姓名,并为每个Person分配了多个Area对象,代表不同的区域。区域包含ID、名称和所在城市ID。然后,通过遍历所有区域获取不同的城市ID列表。最后,使用Java Stream API对Person列表进行操作,获取每个Person的区域对应的cityId列表,并根据Person ID进行分组。
摘要由CSDN通过智能技术生成

List personList=newArrayList();

Person p1=newPerson();

p1.setPersonId(1);

p1.setPersonName("chm");

List areaList1=new ArrayList<>();

Area a1=newArea();

a1.setAreaId(1);

a1.setAreaName("海淀");

a1.setCityId(1);

areaList1.add(a1);

Area a2=newArea();

a2.setAreaId(2);

a2.setAreaName("丰台");

a2.setCityId(1);

areaList1.add(a2);

Area a3=newArea();

a3.setAreaId(11);

a3.setAreaName("崇明");

a3.setCityId(2);

areaList1.add(a3);

p1.setAreaList(areaList1);

personList.add(p1);

Person p2=newPerson();

p2.setPersonId(2);

p2.setPersonName("wt");

List areaList2=new ArrayList<>();

Area a11=newArea();

a11.setAreaId(21);

a11.setAreaName("临颍");

a11.setCityId(3);

areaList2.add(a11);

Area a12=newArea();

a12.setAreaId(22);

a12.setAreaName("郾城");

a12.setCityId(3);

areaList2.add(a12);

Area a13=newArea();

a13.setAreaId(12);

a13.setAreaName("浦东");

a13.setCityId(2);

areaList2.add(a13);

p2.setAreaList(areaList2);

personList.add(p2);

List cityIdList=new ArrayList<>();for(Person person:personList){for(Area area:person.getAreaList()){if(!cityIdList.contains(area.getCityId())){

cityIdList.add(area.getCityId());

}

}

}

List> myList= personList.stream().map(i->i.getAreaList().stream().map(area->area.getCityId()).collect(Collectors.toList())).collect(Collectors.toList());

Map> basicMap =personList.stream().collect(Collectors.groupingBy(Person::getPersonId));

List personListCurrent=basicMap.get(2);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值