根据ID快速分组 算法

List<Member> memberList = this.searchMemberByCabin_eiden(voyage_code);
//自行分组,分组算法
Map<Integer, List<Member>> CabinIdMap = new HashMap<>();
for (Member m : memberList) {
List<Member> tempList = CabinIdMap.get(m.getCabin_lib_id());
    /*如果取不到数据,那么直接new一个空的ArrayList**/
    if (tempList == null) {
        tempList = new ArrayList<>();
        tempList.add(m);
        CabinIdMap.put(m.getCabin_lib_id(), tempList);
    }else {
        /*某个member之前已经存放过了,则直接追加数据到原来的List里**/
        tempList.add(m);
    }
}
for (Cabin c : cabins) {
    c.setMembers(CabinIdMap.get(c.getCabin_lib_id()));
}

jdk1.8

Map<String, List<String>> dbSourceMap2 = new HashMap<>(16);
for (OrderTenant orderTenant : orderTenantList) {
   String tenantName = orderTenant.getTenantName();
   //若key对应的value为空,会将第二个参数的返回值存入并返回
   List<String> waybillNoList = dbSourceMap2.computeIfAbsent(tenantName, k -> new ArrayList<>());
   waybillNoList.add(tenantName);
}

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值