相关疑难解决方法(0)

为什么矢量数组加倍?

为什么Vector(ArrayList for Java people)的经典实现在每次扩展时将其内部数组大小加倍,而不是将其增加三倍或四倍?

algorithm vector arraylist data-structures

18
推荐指数
2
解决办法
4436
查看次数

为什么List Capacity调整大小远远超过需要?

我正在尝试使用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#中的行为方式吗?

c# list

0
推荐指数
2
解决办法
892
查看次数

标签 统计

algorithm ×1

arraylist ×1

c# ×1

data-structures ×1

list ×1

vector ×1