Можете ли вы работать с массивами в Java, как в Matlab? - PullRequest
2 голосов
/ 25 сентября 2011

Мне было интересно, есть ли способ сделать следующее без написания функции или цикла for:

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

, таким образом, добавляя 5 ко всем элементам в массиве. Matlab допускает такой удобный ярлык.

Ответы [ 4 ]

3 голосов
/ 25 сентября 2011

Краткий ответ: Нет, ты не можешь.Для этого вам нужно написать цикл.

1 голос
/ 25 сентября 2011

Если вам это нужно, вы можете посмотреть в Scala. Scala также работает на JVM и имеет такие вещи, как сгибы, которые позволяют определять такие вещи в очень небольшом коде.

Однако это функциональный язык, который требует иного мышления, чем традиционное (итеративное) программирование.

1 голос
/ 25 сентября 2011

Одним словом: нет.У Java нет таких операций.Но ничто не мешает вам написать метод add(), который принимает массив и int и добавляет int к каждому элементу в массиве.Напишите subtract(), multiply() и т. Д., И у вас будет небольшая библиотека для вашего собственного использования.

0 голосов
/ 25 сентября 2011

Java предоставляет ряд классов коллекций с функциональностью, аналогичной той, которую Matlab предоставляет для массивов. Ближайшее совпадение будет java.util.ArrayList, которое поддерживается массивом. Вы можете использовать метод add() для добавления элементов в коллекцию вместо оператора +=. ArrayList экспортирует ряд интерфейсов, которые делают его совместимым со многими методами и классами в других пакетах java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...