2

我想知道是否有一种方法可以在不编写函数或 for 循环的情况下执行以下操作:

int[] ma = (3,4,4,5,6,7);
ma += 5;

因此,将 5 添加到数组中的所有元素。Matlab 允许这样一个方便的快捷方式。

4

4 回答 4

3

简短的回答:不,你不能。您需要编写一个循环来执行此操作。

于 2011-09-25T17:38:05.883 回答
1

一句话:没有。Java 没有这样的操作。但是没有什么可以阻止您编写一个add()采用数组和 int 并将 int 添加到数组中的每个元素的方法。编写subtract(),multiply()等,您将拥有一个不错的小库供您自己使用。

于 2011-09-25T17:37:58.450 回答
1

如果你需要这个很多,研究 Scala 可能是一个选择。Scala 也运行在 JVM 上,并且有诸如折叠之类的东西,它允许你用很少的代码来定义这些东西。

但是,它是一种函数式语言,需要与传统(迭代)编程不同的思维方式。

于 2011-09-25T17:43:08.650 回答
-2

Java 提供了许多集合类,其功能类似于 Matlab 为数组提供的功能。最接近的匹配是java.util.ArrayList,它由数组支持。您可以使用该add()方法将项目附加到集合中,而不是使用+=运算符。ArrayList导出许多接口,使其与其他 java 包中的许多方法和类兼容。

于 2011-09-25T18:44:08.223 回答