Есть ли элегантный способ выбора элементов массива на 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 (без необходимости писать много строк кода).
В 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();