搜索

首页  >  问答  >  正文

JAVA集合框架

请问各位大神,HashMap的初始化容量为16,这个16的单位是啥,是字节还是什么

天蓬老师天蓬老师2767 天前868

全部回复(7)我来回复

  • PHPz

    PHPz2017-04-18 09:46:05

    是hashmap底层实现的数组的初始长度,并不是元素个数。

    回复
    0
  • 黄舟

    黄舟2017-04-18 09:46:05

    是HashMap<Object>Object的个数吧,集合不都有size吗,容量是最大的size,size就是指的集合中元素数量,也就是这里的Object的个数。想想也应该不可能是字节什么的啊,集合存储的是各种各样的对象,这些对象大小怎么可能一样,有的一个对象就不止16字节。

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:46:05

    Map中能存储的entry个数,因为底层是用数组实现的,所以就是数组的长度

    回复
    0
  • 高洛峰

    高洛峰2017-04-18 09:46:05

    Java8中HashMap的底层是这样的一个数组(Node<K,V>[] table),初始化容量(DEFAULT_INITIAL_CAPACITY)是新建HashMap时table表的默认长度

    回复
    0
  • 阿神

    阿神2017-04-18 09:46:05

    里面可存的元素数量

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-18 09:46:05

    容器的初始容量,会随着容器内元素的多少动态变化的。

    回复
    0
  • 高洛峰

    高洛峰2017-04-18 09:46:05

    反问:
    int array[] = new int[10];
    这里的10是字节吗...

    回复
    0
  • 取消回复