【问题标题】:Need to clarify difference between element and index需要澄清元素和索引之间的区别
【发布时间】:2016-11-09 00:29:53
【问题描述】:

所以我的理解是这样的……

String[] banks = {"B of A", "Chase", "Wells Fargo"};

索引:用作对数组元素值中实际占位符的引用。

索引 0 是“A 中的 B”

索引 1 是“追逐”

索引 2 是“富国银行”

元素:用于定义数组中有多少个值(不包括0)。也就是说Index == Element - 1例如这个数组有3个元素:

元素 1 是“A 中的 B”

元素 2 是“追逐”

元素 3 是“富国银行”

值:用于定义元素/索引中保存的实际变量类型值

索引 0 和元素 1 的值是“B of A”

索引1和元素2的值为“Chase”

索引 2 和元素 3 的值为“Wells Fargo”

这是正确的解释吗?我想确保我正确地学习了这一点。


我问的原因是为了验证我在测试中做错的问题:

【问题讨论】:

  • 您的问题源于对索引的元素编号方式不同。元素编号也从 0 开始。元素 0 位于索引 0。“索引”描述了存储位置。 “元素”描述了一个位置的内容。 “值”描述了一个元素的内容。
  • 嗯所以你说的是index == element而不是index == element - 1
  • @FiddleFreak 这只是语义:具有 5 个元素的数组将使用索引 0 到 4 访问它们。没有更多内容......
  • 不完全是,数组只是一堆盒子。哪个框由索引确定。这与盒子里的东西无关。盒子的内容是一个元素。因为 Java 中的数组索引是从零开始的,对于同一事物有两种不同的编号方案会更加令人困惑,因此通常将“索引 5 处的元素”称为“元素 5”或“第 5 个元素”或“米拉乔沃维奇”
  • @eaglei22 我最终被踢出了课程(所有其他学生都认为这是不公平的,并且离开课程也觉得不公平)。这是通过edx与一所大学合作的。相反,我只是从一本 Java 书籍中学习,现在对 Java 更熟悉了^^。

标签: java


【解决方案1】:

是的,这是正确的。您还可以调用 values 键,例如在 swift 中。

这也是一个很好的解释。

PHP: is there difference between Index, Element, Key, Value of an Array?... are they the same thing?

【讨论】:

  • 我只是想确定一下,因为我在测试中答错了一个问题,而我实际上是对的。谢谢。
  • 您可以随时向您的老师/教授展示stackoverflow。根据您所做的修改,我坚信您的答案是正确的。
  • @FiddleFreak 实际上,您错了,但只是编号。元素 0 在索引 0 处。
  • 我明白了,所以当有人对你说“嘿,我需要一个包含 800 个元素的名为 ary 的 int 数组”时,你给他们int[] ary = new int[799];?
  • 不,你会给他们int[] ary = new int[800];。因为当您使用上述语法时,您正在实例化数组。不访问它,因此通过实例化,您将在创建所述数组时使用元素的数量。访问数组中的第 800 个元素只需 ary[799];
【解决方案2】:

老实说,这两种方式都可以。从逻辑上讲,你是对的。但是,为了避免混淆(实际上它会引起更多混淆),约定只是将索引 0 处的元素称为元素 0;即使,实际上,这是第一个元素。所以你的逻辑是正确的,只是随着时间的推移,惯例已经偏离了逻辑。 实际上,这个问题的措辞很糟糕,因为您可以提出相同的问题,但不会造成额外的混乱(通过询问元素的索引),因此请尽量避免您的问题使用的措辞类型。如果在某些情况下您不能,请务必提前澄清您或其他人的意思。

【讨论】:

    猜你喜欢
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    相关资源
    最近更新 更多