.size()
和.length
之间有什么区别?.size()
只适用于数组列表吗?.length
只适用于数组吗?
size()
是在 java.util.Collection
中定义的一个方法,然后被标准库中的每个数据结构所继承。 length
是数组上的一个字段(数组是对象,只是通常不显示类),而 length()
是 java.lang.String
上的一个方法,它只是一个封装了char[]
的薄包装器。
也许出于设计原因,字符串是不可变的,所有顶级集合子类都是可变的。 所以当你看到 "length" 时,你知道它是常量,而当你看到 "size" 时,它则不是。
char[]
? - Nick Louloudakisbase + offset
,其中base
是起始位置(索引0);这也使得数组相对较快。ArrayList属于链表家族,不是按顺序存储的,这就是它们可以“调整大小”的原因。因此,即使在概念上,链表具有“长度”,它们也不会作为“列表”存储在内存中,因此使用更通用的“size”。 - David Mordigalstring[]
should be char[]
- Eduardo Dennis长度是常量,用于确定数组存储容量而不是数组中元素的数量。
例子:
int[] a = new int[5]
a.length
总是返回5,这被称作数组的容量。但是,数组中元素的数量被称为大小。
例如:
int[] a = new int[5]
a[0] = 10
这里的大小将为1,但a.length
仍为5。请注意,数组上没有名为size
的实际属性或方法,因此您无法只调用a.size
或a.size()
来获取值1。
size()
方法适用于集合,在Java中应使用length
来处理数组。
int[]
这样的基本数组上调用 size()
方法。因此,a.size=1
没有意义。 - Chinmay jaina.size
这样的东西。它根本不存在,所以声称它“将是”1毫无意义。 - xdavidliu.length
是一个字段,它包含了数组的容量(并非数组当前所包含的元素数)。
length()
是一个方法,在字符串(以及其他类)中使用,用于返回字符串中字符的数量;对于字符串来说,容量和包含元素数(字符数)具有相同的值。
size()
是由所有成员的集合(列表、集合、堆栈等)实现的方法。它返回集合包含元素的数量(而不是容量;有些集合甚至没有定义容量)。length variable:
在Java中,数组(不是java.util.Array)是语言本身中预定义的类。为了查找数组的元素,设计者使用了length变量(length是预定义类中的字段成员)。他们必须已经给出length()本身来使Java具有一致性;但是没有这样做的原因是性能方面,在执行时,length变量比调用方法length()更快。这就像使用==和equals()比较两个字符串。equals()是一个方法调用,比执行==运算符需要更多的时间。
size() method:
它用于查找集合类中存在的元素数量。 它在java.util.Collection接口中定义。
根据语法推断,我认为它是C语言的后代。从我所见,length
用于简单集合项,如数组,并且在大多数情况下它是一种属性。
size()
是一个函数,用于动态集合对象。然而,在使用的所有情况下,您不会发现使用它们之间有任何差异产生的结果。在大多数实现中,size只返回长度属性。
java
标记的正确识别了这个问题是Java相关的。 - Stephen C我敢打赌(没有指定语言),size()
方法返回length
属性。
然而有效的for
循环应该是这样的:
for (int i = 0; i < values.length; i++) {}