为什么Vector(ArrayList for Java people)的经典实现在每次扩展时将其内部数组大小加倍,而不是将其增加三倍或四倍?
我正在尝试使用0到20000范围内的10000个随机整数填充列表.以下是我如何执行此操作的代码:
List<int> rand_num = new List<int>();
Random rand = new Random();
int i =0;
//int counter = 0;
while (i < 10000)
{
rand_num.Add(rand.Next(0, 20000));
i++;
}
textBox1.Text = rand_num.Capacity.ToString();
Run Code Online (Sandbox Code Playgroud)
问题是当它到达textBox1.Text = rand_num.Capacity.ToString();线路时,输出是16384.我只输入了10000个数字,它怎么能比我需要的更大到6384?我错过了关于列表在c#中的行为方式吗?