Мне было интересно, есть ли способ сделать следующее без написания функции или цикла for:
int[] ma = (3,4,4,5,6,7); ma += 5;
, таким образом, добавляя 5 ко всем элементам в массиве. Matlab допускает такой удобный ярлык.
Краткий ответ: Нет, ты не можешь.Для этого вам нужно написать цикл.
Если вам это нужно, вы можете посмотреть в Scala. Scala также работает на JVM и имеет такие вещи, как сгибы, которые позволяют определять такие вещи в очень небольшом коде.
Однако это функциональный язык, который требует иного мышления, чем традиционное (итеративное) программирование.
Одним словом: нет.У Java нет таких операций.Но ничто не мешает вам написать метод add(), который принимает массив и int и добавляет int к каждому элементу в массиве.Напишите subtract(), multiply() и т. Д., И у вас будет небольшая библиотека для вашего собственного использования.
add()
subtract()
multiply()
Java предоставляет ряд классов коллекций с функциональностью, аналогичной той, которую Matlab предоставляет для массивов. Ближайшее совпадение будет java.util.ArrayList, которое поддерживается массивом. Вы можете использовать метод add() для добавления элементов в коллекцию вместо оператора +=. ArrayList экспортирует ряд интерфейсов, которые делают его совместимым со многими методами и классами в других пакетах java.
java.util.ArrayList
+=
ArrayList