java - Java中的屏蔽数组与python中的numpy一样
问题描述
有没有一种优雅的方式来选择 Java 中的数组元素,类似于 Python 中的 Numpy?
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();
推荐阅读
- python - 如何附加到 SQLAlchemy 中的 conflict_do_update 列表中?
- git - Git reset --hard 在本地存储库上,也在远程?
- mongodb - 试图从嵌套的 MongoDB 数据库中获取数据?
- mysql - 如何在 Laravel 中使用 SELECT 上的计算字段进行子查询?
- python - 从 Excel 导入数据框中的错误行和列
- php - 使用 PHP 从 CURL “-d” 中检索数据
- spring-boot - Kafka 流 - 第一个示例 WordCount 不起作用(计数值错误)
- haskell - fromInteger 应该是环同态吗?
- python - 具有基于键的默认值的 Python dict
- azure-active-directory - 如何将 Azure 应用注册从 DEV 带到 PROD 而无需手动重新创建它们?