使用场景
ArrayList动态扩容,每次扩展50%
int oldCapacity;
int newCapacity = oldCapacity +(**oldCapacity>>1**);
理论
- oldCapacity右移1位 --> oldCapacity/2
- 在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。
相关文档:
https://blog.csdn.net/wk1134314305/article/details/74891419
网友评论