9

可能重复:
集合中的计数、长度和大小

特别是在 Java 中, on Strings,你调用string.length(),而在Lists你调用list.size()。这两个术语之间是否存在技术差异,因为 aString真的只是一个列表chars

任何意见表示赞赏。

4

6 回答 6

14

通常,length() 用于具有恒定长度的事物,而 size() 用于具有可变长度的事物。除此之外,我不知道使用两个几乎是同义词的充分理由。

于 2010-02-04T21:45:33.640 回答
9

理想情况下,count将是项目的数量,并且size是占用的存储量(如sizeof)。

在实践中,所有三个(包括length最模棱两可的)在许多广泛使用的库中都被混淆了,因此在这个阶段试图对它们强加一个模式是没有意义的。

于 2010-02-04T22:01:42.807 回答
4

为了我,

“长度”意味着一个订单,您正在测量从开始到结束的长度。

“大小”表示某物有多大,而不表示顺序、开始或结束。

于 2010-02-04T22:10:27.647 回答
3

我不这么认为。这更有可能是由于 API 在大型团队中工作,并且不同的人对名称应该有不同的看法,尤其是在某些上下文中具有同义词的词,例如在这件事上的大小和长度。

于 2010-02-04T21:42:14.360 回答
2

正如其他人所触及的那样,我认为这是语义上的差异。数组的定义非常明确,称为有长度。对象的集合更加模糊,部分原因是它的实现(它是数组、链表还是树?)不一定是你关心的。一棵树实际上没有长度,但它有一个确定的大小,所以大小在语义上可能更有意义。

于 2010-02-04T21:57:51.157 回答
0

对我来说,在描述结构或其他方式在计算机中组织字节时使用“大小”。它不一定必须被实例化。另一方面,“长度”表示内存中特定字节缓冲区在给定点的大小。

例如,您提供的缓冲区的长度是多少?它的字节数与结构 x 的大小相同。

于 2010-02-05T09:03:52.963 回答