我想知道是否有一种方法可以在不编写函数或 for 循环的情况下执行以下操作:
int[] ma = (3,4,4,5,6,7);
ma += 5;
因此,将 5 添加到数组中的所有元素。Matlab 允许这样一个方便的快捷方式。
我想知道是否有一种方法可以在不编写函数或 for 循环的情况下执行以下操作:
int[] ma = (3,4,4,5,6,7);
ma += 5;
因此,将 5 添加到数组中的所有元素。Matlab 允许这样一个方便的快捷方式。
简短的回答:不,你不能。您需要编写一个循环来执行此操作。
一句话:没有。Java 没有这样的操作。但是没有什么可以阻止您编写一个add()
采用数组和 int 并将 int 添加到数组中的每个元素的方法。编写subtract()
,multiply()
等,您将拥有一个不错的小库供您自己使用。
如果你需要这个很多,研究 Scala 可能是一个选择。Scala 也运行在 JVM 上,并且有诸如折叠之类的东西,它允许你用很少的代码来定义这些东西。
但是,它是一种函数式语言,需要与传统(迭代)编程不同的思维方式。
Java 提供了许多集合类,其功能类似于 Matlab 为数组提供的功能。最接近的匹配是java.util.ArrayList
,它由数组支持。您可以使用该add()
方法将项目附加到集合中,而不是使用+=
运算符。ArrayList
导出许多接口,使其与其他 java 包中的许多方法和类兼容。