尺寸和长度方法的区别?

.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 = 1a.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属性。