请问各位大神,HashMap的初始化容量为16,这个16的单位是啥,是字节还是什么
欢迎选择我的课程,让我们一起见证您的进步~~
是hashmap底层实现的数组的初始长度,并不是元素个数。
是HashMap<Object>Object的个数吧,集合不都有size吗,容量是最大的size,size就是指的集合中元素数量,也就是这里的Object的个数。想想也应该不可能是字节什么的啊,集合存储的是各种各样的对象,这些对象大小怎么可能一样,有的一个对象就不止16字节。
Map中能存储的entry个数,因为底层是用数组实现的,所以就是数组的长度
Java8中HashMap的底层是这样的一个数组(Node<K,V>[] table),初始化容量(DEFAULT_INITIAL_CAPACITY)是新建HashMap时table表的默认长度
里面可存的元素数量
容器的初始容量,会随着容器内元素的多少动态变化的。
反问:int array[] = new int[10];这里的10是字节吗...
是hashmap底层实现的数组的初始长度,并不是元素个数。
是HashMap<Object>Object的个数吧,集合不都有size吗,容量是最大的size,size就是指的集合中元素数量,也就是这里的Object的个数。想想也应该不可能是字节什么的啊,集合存储的是各种各样的对象,这些对象大小怎么可能一样,有的一个对象就不止16字节。
Map中能存储的entry个数,因为底层是用数组实现的,所以就是数组的长度
Java8中HashMap的底层是这样的一个数组(Node<K,V>[] table),初始化容量(DEFAULT_INITIAL_CAPACITY)是新建HashMap时table表的默认长度
里面可存的元素数量
容器的初始容量,会随着容器内元素的多少动态变化的。
反问:
int array[] = new int[10];
这里的10是字节吗...