尺寸和长度方法的区别?
.size()
和.length
什么区别? .size()
仅适用于arraylists而.length
仅适用于数组吗?
如果是这样的循环,如:
for (int i=0; i <= values.length-1; i++)
与…一样
for (int i=1; i <= values.length; i++)
size()
是java.util.Collection
指定的方法,然后由标准库中的每个数据结构inheritance。 length
是任何数组上的一个字段(数组是对象,你只是没有正常看到这个类),而length()
是java.lang.String
上的一个方法,它只是char[]
上的一个瘦包装器。
也许通过设计,数组和字符串是不可变的,并且所有顶级Collection子类都是可变的。 所以你看到“长度”你知道它是恒定的,而你看到“大小”它不是。
length是常量,用于找出数组存储容量而不是数组中元素的数量
例:
int a[] = new int[5]
a.length
总是返回5,称为数组的容量,因此length总是返回CAPACITY。 但
“数组中的元素数量称为大小”
例:
int a[] = new int[5] a[0] = 10
将导致a.size = 1
和a.size = 1
a.length = 5
。
size()
适用于集合, length
适用于java中的数组
length variable:
在Java中,数组(不是java.util.Array)是语言本身的预定义类。 为了找到数组的元素,设计者使用了长度变量(length是预定义类中的字段成员)。 它们必须赋予length()本身以使Java具有一致性; 但没有。 原因在于性能,执行长度变量比调用方法length()更快。 这就像比较两个字符串与==和equals()。 equals()是一个方法调用,它比执行==运算符花费更多的时间。
size() method:
它用于查找集合类中存在的元素数。 它在java.util.Collection接口中定义。
我打赌(没有指定语言) size()
方法返回length
属性。
但是for
循环有效应该如下所示:
for (int i = 0; i < values.length; i++) {}
基于语法,我假设它是C语言的后代语言。根据我所见, length
用于简单的集合项,如数组,在大多数情况下,它是一个属性。
size()
是一个函数,用于动态集合对象。 但是,出于所有使用目的,您不会发现使用其中任何一个的结果有任何差异。 在大多数实现中,size只返回length属性。