a)简述List底层实现
b)现在有一个Lista,已知它的容量是4,此时,再往里添加第5个元素,这时List底层会发生哪些具体行为
a:
List泛型集合,能够根据填入的数据来自己扩容存储长度,与动态数组有些类似,不过可以自己定义数据类型。它是通过使用数组来作为底层数据结构的。
拿Add添加操作的实现来举例,每次添加前都会判断当前可存储的数据长度与已经存储的数据长度是否一致,判断为真就执行EnsureCapactiy方法来确保有足够得存储空间,每次扩容都会使容量翻倍。
b:
先判断当前存储的元素是否已经达到容量上限,达到则调用EnsureCapacity方法对数组扩容,此方法会将默认容量乘以2。容量最大可以被扩容为0X7E1FFFFF个字节长度。
扩容后将第五个元素存储到数组的第五个位置。
标签:扩容,逻辑,容量,List,存储,数组,底层 来源: https://www.cnblogs.com/tangRick/p/16442931.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。