List的底层逻辑
作者:互联网
a)简述List底层实现
b)现在有一个Lista,已知它的容量是4,此时,再往里添加第5个元素,这时List底层会发生哪些具体行为
a:
List泛型集合,能够根据填入的数据来自己扩容存储长度,与动态数组有些类似,不过可以自己定义数据类型。它是通过使用数组来作为底层数据结构的。
拿Add添加操作的实现来举例,每次添加前都会判断当前可存储的数据长度与已经存储的数据长度是否一致,判断为真就执行EnsureCapactiy方法来确保有足够得存储空间,每次扩容都会使容量翻倍。
b:
先判断当前存储的元素是否已经达到容量上限,达到则调用EnsureCapacity方法对数组扩容,此方法会将默认容量乘以2。容量最大可以被扩容为0X7E1FFFFF个字节长度。
扩容后将第五个元素存储到数组的第五个位置。
标签:扩容,逻辑,容量,List,存储,数组,底层 来源: https://www.cnblogs.com/tangRick/p/16442931.html