繁体   English   中英

尺寸和长度方法之间的区别?

[英]Difference between size and length methods?

.size().length什么区别? .size()仅用于数组列表而.length仅用于数组吗?

size()java.util.Collection指定的一个方法,然后被标准库中的每个数据结构继承。 length是任何数组上的一个字段(数组是对象,您只是通常看不到类),并且length()java.lang.String上的一个方法,无论如何它只是char[]上的一个薄包装器。

也许按照设计,Strings 是不可变的,并且所有顶级 Collection 子类都是可变的。 所以你看到“长度”的地方你知道它是恒定的,而你看到“大小”的地方不是。

长度是常数,用于找出数组存储容量而不是数组中的元素数

示例:

int[] a = new int[5]

a.length总是返回 5,这称为数组的容量。 但是

数组中元素的数量称为大小

示例:

int[] a = new int[5]
a[0] = 10

这里的大小为 1,但a.length仍为 5。请注意,数组上没有实际的属性或方法称为size ,因此您不能只调用a.sizea.size()来获取值 1 .

size()方法可用于集合, length可用于 Java 中的数组。

length variable:

在 Java 中,数组(不是 java.util.Array)是语言本身中的预定义类。 为了查找数组的元素,设计者使用了长度变量(长度是预定义类中的字段成员)。 他们必须给定 length() 本身才能在 Java 中具有一致性; 但没有。 原因在于性能,执行 length 变量比调用方法 length() 更快。 这就像用 == 和 equals() 比较两个字符串。 equals() 是一个方法调用,它比执行 == 操作符花费更多的时间。

size() method:

它用于查找集合类中存在的元素数量。 它在 java.util.Collection 接口中定义。

基于语法,我假设它是某种语言,它是 C 的后代。根据我所见, length用于简单的集合项,如数组,在大多数情况下,它是一个属性。

size()是一个函数,用于动态集合对象。 但是,就所有使用目的而言,使用它们中的任何一个都不会发现结果有任何差异。 在大多数实现中,size 只返回长度属性。

  • .length是一个字段,包含阵列的容量(NOT此刻的数组包含元素的数量)。

  • length()Strings (以及其他)使用的一种方法,它返回String 中的字符数 对于字符串,包含元素(字符)的容量和数量具有相同的值。

  • size()是通过收集所有成员(列表,集合,栈,...)实现的方法 它返回集合包含的元素数(不是容量;有些集合甚至没有定义的容量)。

我敢打赌(没有指定语言) size()方法返回length属性。

但是有效的for循环应该如下所示:

for (int i = 0; i < values.length; i++) {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM