有关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;
    }
相关文章
|
4月前
|
存储 算法 Java
List的魔法:如何在Java中实现高效有序存储
【6月更文挑战第17天】在Java中,List接口(如ArrayList和LinkedList)实现有序存储,便于高效检索和排序。ArrayList适合索引访问,而LinkedList擅长插入删除。Collections.sort()和Java 8的Stream API能进一步优化排序和操作。优先队列或平衡二叉搜索树等数据结构在特定场景下也能提升有序存储效率。
106 0
|
5月前
|
存储 SQL 关系型数据库
Mysql鸡础(从数据库中导入学生数据用list集合存储emp成员)
Mysql鸡础(从数据库中导入学生数据用list集合存储emp成员)
|
5月前
|
存储 消息中间件 缓存
Redis不止能存储字符串,还有List、Set、Hash、Zset,用对了能给你带来哪些优势?
Redis不止能存储字符串,还有List、Set、Hash、Zset,用对了能给你带来哪些优势?
|
5月前
|
存储 JSON NoSQL
Redis中当存储数据为List集合时,如何控制集合内每个数据元素的生命周期
Redis中当存储数据为List集合时,如何控制集合内每个数据元素的生命周期
367 0
|
12月前
|
存储
11Redis - 存储list(命令)
11Redis - 存储list(命令)
78 1
|
12月前
|
存储 NoSQL Redis
10Redis - 存储list(原理)
10Redis - 存储list(原理)
60 1
|
12月前
|
存储 消息中间件 NoSQL
12Redis - 存储list(使用场景)
12Redis - 存储list(使用场景)
38 0
|
存储 关系型数据库 Java
Mybatis plus 存储 List、Map
Mybatis plus 存储 List、Map、自定义类型
887 0
|
存储 索引
创建List保存学生信息
创建List保存学生信息
74 0
|
存储 前端开发 Java
【JavaWeb】JAVABean+Session实现JSP登录注册(List模型数据库用户信息存储+商品展示)
先说说这个题目吧,好端端的数据库不连,偏偏喜欢要整一个JavaBean和List来模拟数据库,虽然说这样的做法非常的愚蠢,但没办法,毕竟是主人的任务是吧doge。作者其实已经做了一版,但是这代码写的实在是。。。于是乎作者使用了MVC框架后整理了一个新的。(如果你学了servlet,那会发现和它的结构和思想非常的像)
114 0