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上で実行され、foldsのようなものがあり、非常に小さなコードでこれらの種類のものを定義することができます。

ただし、これは関数型言語であり、従来の(反復)プログラミングとは異なる考え方が必要です。

于 2011-09-25T17:43:08.650 に答える
-2

Javaは、Matlabが配列に提供するものと同様の機能を備えた多数のコレクションクラスを提供します。最も近い一致はjava.util.ArrayList、配列に裏打ちされたです。演算子add()の代わりに、このメソッドを使用してアイテムをコレクションに追加できます。他のJavaパッケージのメソッドやクラスの多くと互換性のある多くのインターフェースをエクスポートします。+=ArrayList

于 2011-09-25T18:44:08.223 に答える