zoukankan      html  css  js  c++  java
  • HashMap如何插入重复的键值

    我们都知道hashmap键值是不能重复的,但在我的实际工作过程中,我需要循环一个子教学班数组,把同一个教学班下的子教学班筛选出来,以教学班Id作为主键,当我查询教学班的时候,就能根据教学班的ID查询到所有的子教学班,那么我是如何实现的呢?如下图:定义一个map

    /**
    * 自定义map
    * 用于存取键值重复数据
    * @param <K>
    * @param <V>
    */
    private class TempMap<K,V> {
    private HashMap<K, ArrayList<V>> data = new HashMap<>();
    public boolean add(K k, V v) {
         // 判断是否存在key
    if (data.containsKey(k)) {
    data.get(k).add(v);
    } else {
    ArrayList<V> list = new ArrayList<>();
    list.add(v); data.put(k,list);
    }
    return true;
    }
    public HashMap<K,ArrayList<V>> getData() {
    return data;
    }
    }

    // 调用
    List<TeachingClassReadRangeEntity> teachingClassReadRangeEntities = redisInfoMapper.selectReadRange();
    TempMap<String, TeachingClassReadRangeEntity> readRangeMap = new TempMap<>();
    for(TeachingClassReadRangeEntity teachingClassReadRangeEntity : teachingClassReadRangeEntities){
    readRangeMap.add(teachingClassReadRangeEntity.getTeachingClassId(), teachingClassReadRangeEntity);
    }
    Map<String, ArrayList<TeachingClassReadRangeEntity>> cacheReadRangeMap = new HashMap<>();
    cacheReadRangeMap = readRangeMap.getData();
  • 相关阅读:
    《Think in Java》(七)复用类
    书单2017
    React 获取真实Dom v8.6.2版本
    vue-waterfall2 实现瀑布流,及总结的问题
    vue CSS使用/deep/
    vue.config.js 配置 scss,less,sass全局配置 vuecli3
    postcss 将px转换成rem vuecli3+vant+vue+postcss
    px转rem vue vscode
    轮播模仿臭美APP,vue,swiper
    瀑布流 懒加载 组件 vue js
  • 原文地址:https://www.cnblogs.com/preferlin/p/11713831.html
Copyright © 2011-2022 走看看