【问题标题】:Editing all 2D array objects at once? [closed]一次编辑所有二维数组对象? [关闭]
【发布时间】:2014-01-03 05:29:37
【问题描述】:

所以我创建了一个 Square 类,在我的“NormalMode”类中创建了一个二维数组,如下所示:

Square[][] square = new Square[4][4]

并使用 2 个嵌套的 for 循环对其进行初始化。现在我有了这个,如何从我的 Square 类中同时为数组中的所有正方形对象运行一个方法?

【问题讨论】:

  • 方法永远不会同时运行,如果不使用线程,方法调用会被放到栈上,一个接一个地执行。您可以遍历 2D 数组(16 次迭代),调用您希望为每个 Square 类型的对象运行的方法
  • @JonnyHenly 够了,但我如何才能对 Arraylist 中的所有对象使用该方法?我有义务一一做吗?!
  • Square[][] 不是ArrayList
  • @Christian 对不起!我还是编程新手,这是一个二维数组吧?
  • 是的,一个二维数组。

标签: java arrays object multidimensional-array slick2d


【解决方案1】:

你必须一件一件的去做:

for (Square[] arr: square)
    for (Square sq : square)
        sq.someMethod();

【讨论】:

  • 除非他使用线程并触发每个线程在给定时间执行Square[][]的每个索引中的方法。我不知道我说的对不对,也没有必要这样做。
  • 感谢您指出,但基于 OP' cmets,我认为这不是他想要的。当他了解更多有关 Java 的知识时,他可以稍后尝试。
【解决方案2】:

使用另一对循环,或者如果方法独立于 Square 实例(即,如果该方法不修改或访问任何实例字段),则使用静态方法。

如果您不想要静态方法,并且只想在将代码放入构造函数或从那里调用它时执行该方法。

【讨论】:

  • 你今天着火了 Njol,谢谢你的帮助!
  • @MrPork 你也可以阅读编程指南;)
  • 您好,阅读本文的外人!要执行他所说的这个循环,请到这里:stackoverflow.com/questions/20896694/…
猜你喜欢
  • 2014-07-24
  • 2023-01-09
  • 2011-04-13
  • 2015-09-12
  • 2013-03-24
  • 2018-12-30
  • 1970-01-01
  • 1970-01-01
  • 2020-12-20
相关资源
最近更新 更多