[英]Difference between length() and capacity() methods in StringBuilder
[英]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.size
或a.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.