gpt4 book ai didi

java - .NET 中的 List 是否与 Java 中的 arraylist 一样工作?

转载 作者:搜寻专家 更新时间:2023-11-01 02:18:06 25 4
gpt4 key购买 nike

当我学习 Java 时,有人告诉我 arraylist 是这样工作的:

  • 它创建了一个可容纳 10 个元素的数组。

  • 添加第 11 个元素时,会创建一个包含 20 个元素空间的新列表,并将这 10 个元素复制到新数组中。这将重复,直到没有更多元素要添加,或达到最大尺寸。

.NET 中的列表是否以相同方式构建?

最佳答案

您可以通过查询列表的容量来轻松测试它:

    var a = new List<string>();

Console.WriteLine(a.Capacity); // Writes 0

a.Add("abc");

Console.WriteLine(a.Capacity); // Writes 4

a.Add("abc");
a.Add("abc");
a.Add("abc");
a.Add("abc");

Console.WriteLine(a.Capacity); // Writes 8

因此它在实例化时根本不分配任何空间,而是在第一个添加的项目时分配。从 8 增长到 16、32 等...

关于java - .NET 中的 List 是否与 Java 中的 arraylist 一样工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2476490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com