有关list根据不同的条件,存储的对应信息数量不同

简介: 有关list根据不同的条件,存储的对应信息数量不同

有关list根据不同的条件,存储的对应信息数量不同

需求大致是这样的 :我需要根据用户上传的Excel信息,解析出对应的实体信息,比如 ID :100,对应的bookID 有:2121,324,423;总之就是一对多的关系。

解决思路: 我这里是创建了一个map<String ,Set集合,其中的key就是对应的ID,value对应着bookId。

public List<HotellistHotelarray> getHotelIdsByExcel(MultipartFile multipartFile){
        List<HotellistHotelarray> resultList=new ArrayList<>();
        //创建map集合 用于存储对应的酒店id信息
        Map<String,Set<Long>> map=new HashMap<>();
        //调用方法,获取上传的excel信息
        BaseResponseModel<Map<String, List<HotelExcelPo>>> model = this.addHotellistInfoByExcel(multipartFile);
        Map<String, List<HotelExcelPo>> listMap = model.getT();
        for (String key : listMap.keySet()) {
            HotellistHotelarray hotelarray = new HotellistHotelarray();
            //获取对应的map值
            List<HotelExcelPo> hotelExcelPoList = listMap.get(key);
            for (HotelExcelPo hotelExcelPo : hotelExcelPoList) {
                hotelarray.setCityid(key);
                if (map.containsKey(key)) {
                    map.get(key).add(hotelExcelPo.getHotelId());
                    Set<Long> hotelIds = map.get(key);
                    String join = StringUtils.join(hotelIds, ",");
                    hotelarray.setHotelarray(join);
                } else {
                    HashSet<Long> hashSet = new HashSet<>();
                    hashSet.add(hotelExcelPo.getHotelId());
                    map.put(key, hashSet);
                    Set<Long> hotelIds = map.get(key);
                    String join = StringUtils.join(hotelIds, ",");
                    hotelarray.setHotelarray(join);
                }
            }
            resultList.add(hotelarray);
        }
        return resultList;
    }
相关文章
|
2月前
|
机器学习/深度学习 文字识别 开发者
使用OCR库Pix2Text执行p2t.recognize()时出现list index out of range的错误信息(附有Pix2Text识别图片内容和laTex公式的代码)
有时候报错并不是你代码有问题,源码出错也是很常见的情况,比如之前使用mxgraph也出现了不知名bug,最后也是修改的源码解决的。有疑问欢迎交流~ 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
11月前
|
存储 算法 Java
List的魔法:如何在Java中实现高效有序存储
【6月更文挑战第17天】在Java中,List接口(如ArrayList和LinkedList)实现有序存储,便于高效检索和排序。ArrayList适合索引访问,而LinkedList擅长插入删除。Collections.sort()和Java 8的Stream API能进一步优化排序和操作。优先队列或平衡二叉搜索树等数据结构在特定场景下也能提升有序存储效率。
232 0
|
存储 SQL 关系型数据库
Mysql鸡础(从数据库中导入学生数据用list集合存储emp成员)
Mysql鸡础(从数据库中导入学生数据用list集合存储emp成员)
|
存储 消息中间件 缓存
Redis不止能存储字符串,还有List、Set、Hash、Zset,用对了能给你带来哪些优势?
Redis不止能存储字符串,还有List、Set、Hash、Zset,用对了能给你带来哪些优势?
168 0
|
存储
11Redis - 存储list(命令)
11Redis - 存储list(命令)
121 1
|
存储 NoSQL Redis
10Redis - 存储list(原理)
10Redis - 存储list(原理)
98 1
|
Java
Java【代码分享 11】yaml配置List和Map参数对象的配置信息及类文件实例分享(效仿GatewayDynamic+DynamicDataSource的注入方法)
Java【代码分享 11】yaml配置List和Map参数对象的配置信息及类文件实例分享(效仿GatewayDynamic+DynamicDataSource的注入方法)
358 0
|
存储 JSON NoSQL
Redis中当存储数据为List集合时,如何控制集合内每个数据元素的生命周期
Redis中当存储数据为List集合时,如何控制集合内每个数据元素的生命周期
556 0
|
存储 消息中间件 NoSQL
12Redis - 存储list(使用场景)
12Redis - 存储list(使用场景)
67 0
|
存储 关系型数据库 Java
Mybatis plus 存储 List、Map
Mybatis plus 存储 List、Map、自定义类型
1265 0