hashmap

中有个内部类entry 里面放了 key value 以及key的hashcode

还有个 entry[]数组 table 默认16个

当put 时候 通过key获得hashcode  ,hashcode&数组长度  去定位table的下标 ,判断entity 中hashcode是否一致 不一致 判断next 知道为空 添加值

get 也是同理 通过key获得hashcode  ,hashcode&数组长度  去定位table的下标 然后判断next   判断entity 中hashcode是否一致 不一致 判断next 知道为空 添加值

public HashMap() {
        this.loadFactor = DEFAULT_LOAD_FACTOR;
        threshold = (int)(DEFAULT_INITIAL_CAPACITY * DEFAULT_LOAD_FACTOR);
        table = new Entry[DEFAULT_INITIAL_CAPACITY];//16
        init();
    }

当多余16个元素的时候设置table 的扩容

resize方法 2*当前的长度

替换方法就是 从新定义Entry数组 定义长度 复制原信息到newtable中,最后把实例赋值给引用的table.

蜡笔小新-java-map相关推荐

  1. Java map 知识

    Java map: Map 接口中键和值一一映射. 可以通过键来获取值 map 的方法如下: 序号 方法描述 1 void clear( )  从此映射中移除所有映射关系(可选操作). 2 boole ...

  2. java map 教程_Java Map接口

    Java Map接口 在本教程中,我们将学习Java Map接口及其方法. Java collections框架的Map接口提供了Map数据结构的功能. 它实现了Collection接口. map的工 ...

  3. 有关于Java Map,应该掌握的8个问题

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:一个线程池 bug 引发的 GC 思考!个人原创+1博客:点击前往,查看更多 前言 最近几天看了几篇有关于Jav ...

  4. java 轻量级map,java Map 遍历速度最优解

    java Map 遍历速度最优解 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (ite ...

  5. Java Map集合面试题汇总

    转载自 Java Map集合面试题汇总 1. 你都知道哪些常用的Map集合? 2.Collection集合接口和Map接口有什么关系? 3.HashMap是线程安全的吗?线程安全的Map都有哪些?性能 ...

  6. BAT Java面试笔试33题:JavaList、Java Map等经典面试题!答案汇总!

    JavaList面试题汇总 1.List集合:ArrayList.LinkedList.Vector等. 2.Vector是List接口下线程安全的集合. 3.List是有序的. 4.ArrayLis ...

  7. Java Map中那些巧妙的设计

    简介: 他山之石可以攻玉,这些巧妙的设计思想非常有借鉴价值,可谓是最佳实践.然而,大多数有关Java Map原理的科普类文章都是专注于"点",并没有连成"线", ...

  8. ​Java Map中那些巧妙的设计

    最近拜读了一些Java Map的相关源码,不得不惊叹于JDK开发者们的鬼斧神工.他山之石可以攻玉,这些巧妙的设计思想非常有借鉴价值,可谓是最佳实践.然而,大多数有关Java Map原理的科普类文章都是 ...

  9. Java Map 自定义排序

    HashMap是不保证顺序的,要有顺序,要用LinkedHashMap,这是按照插入顺序排列的. Map接口的哈希表和链接列表实现,具有可预知的迭代顺序.此实现与HashMap的不同之处在于,后者维护 ...

  10. java:Map借口及其子类HashMap五,identityHashMap子类

    java:Map借口及其子类HashMap五,identityHashMap子类 了解:identityHashMap子类 一般情况下,标准的Map,是不会有重复的key值得value的,相同的key ...

最新文章

  1. 如何让li中的标签内容横向排列
  2. 创建一个Table View
  3. linux下boost的一个扩展线程池-threadpool-的学习
  4. Qt 多线程的简单演示
  5. Eclipse 批量创建多级文件夹
  6. php获取时间格式的年份,PHP获取当前时间、时间戳的各种格式写法汇总
  7. rust怎么传送到队友_王者荣耀原初法阵怎么传送?原初法阵最多传送几个人?...
  8. 惨遭数百万开发者厌弃的五大编程语言!
  9. 摘录一些介绍Linux DKMS的博客文章
  10. python利器-[python] bluepy 一款python封装的BLE利器
  11. CpK与PpK的关系
  12. 笔试12:Bootstrap知识
  13. Android 手写和笔锋研究资料
  14. 时间Date类型如何比较大小
  15. 骨传导耳机排名前十名,列举排行靠前的几款骨感耳机
  16. 强化学习——day12 多臂老虎机问题MAB
  17. 用session和mysql实现购物车_Session和Cookie实现购物车
  18. Linux 命令(68)—— realpath 命令
  19. 医疗数据交易平台-区块链解决方案
  20. wow mysql dbc_魔兽SF单机中用MyDbcEditor修改Spell.dbc教程

热门文章

  1. 给计算机老师的元旦祝福,元旦祝福语送老师_简短的送给老师的元旦祝福
  2. Cousera - Deep Learning - 课程笔记 - Week 6
  3. 构建之法助教园地第一次作业--点评西北师范大学|李晓婷
  4. LeetCode 739. 每日温度
  5. InoReader——网页无法打开
  6. 惠州学院计算机学院陈东骏,教学情况简报第107期
  7. 关联规则 置信度与支持度以及Apriori算法简介
  8. 腾讯AI Lab招聘实习生(内推)
  9. 【Nginx】503 Service Temporarily Unavailable
  10. google广告分类