繁体   English   中英

数组长度

[英]Length in Arrays

只是一个简单的问题,但为什么数组中的length没有封装? 这是否适合初学者编程,因为我觉得getLength()方法很容易实现。

我有一个假设,但我不能说这就是为什么java的设计师这样做的原因。

数组是具有固定长度的容器(当然是对象)。 它是一个非常基本的,所以在这种情况下封装会很好但不重要。 例如,看看ArrayList,它可以被视为数组的封装。

与封装它的其他类型相比,基本数组有许多优点。 因此,当第一版Java出现时,它缺乏今天的大部分优化。 因此,拥有一个具有数组简单性(在性能方面)的数据结构是一件好事。

它也可能就像他们当时没有想到那样简单,之后他们必须保持向后兼容性:)

无论如何,如果你发现有趣的东西(也许你可以发送电子邮件太阳/甲骨文),请发布! 这是一个很好的问题。

虽然数组可能被解释为对象,但它们实际上只是包含一些其他对象或变量的固定内存地址集。 以这种方式,它们具有属性,例如.length ,但不一定是方法,如.getLength()

有关数组的大量信息可以在这里找到: http//docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

这很容易实现,这就是为什么它没有实现。

数组只是存储块,没有真正的控件。 它们可以在不需要高级控制时实现简单快速的存储方法。

如果需要,您可以使用列表,队列,链接列表,双链表等等可以记录其大小的内容。 显然,根据您使用的语言,您可能必须自己创建这些语言。

如果你想拥有数组的长度并仍然使用一个简单的数组,你可以在每次向其添加内容时向count变量添加1,在每次删除内容时减去1。 这将执行与getLength()方法相同的功能。

暂无
暂无

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

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