Маскировка массивов в Java как с помощью numpy в Python - PullRequest
0 голосов
/ 19 октября 2018

Есть ли элегантный способ выбора элементов массива в Java, аналогичный Numpy в Python?

mask = np.array([True, False, False, True])
myArray = np.array([4, 3, 1, 2])
result = myArray[mask]
print(result)

Это даст мне [4, 2]

Теперь я хочусделать то же самое в Java (без необходимости писать много строк кода).

1 Ответ

0 голосов
/ 19 октября 2018

В Java такого встроенного механизма нет, у классов утилит массива его тоже нет.

int[] array = {4, 3, 1, 2};
boolean[] mask = {true, false, false, true};

int[] result = IntStream.range(0, array.length)
                        .filter(i -> mask[i])
                        .map(i -> array[i])
                        .toArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...