作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个代码。这里的 map 是Map<Data, Boolean>
int mask = 0;
for (Map.Entry<Data, Boolean> entry : map.entrySet()) {
if (entry.getKey().getValue() > 0 && entry.getValue()) {
mask = mask | (1 << (entry.getKey().getValue() - 1));
}
}
我想使用Java流计算掩码。在这里,我尝试但仅获得过滤器列表。不知道如何在这里计算掩码。
Integer mask = map.entrySet().filter( entry -> entry.getKey().getValue() > 0 && entry.getValue()).?
最佳答案
您可以将条目映射到计算出的值,然后在reduce运算符中应用or
:
map.entrySet().stream()
.filter(entry -> entry.getValue() && entry.getKey().getValue() > 0)
.mapToInt(entry -> (1 << (entry.getKey().getValue() - 1)))
.reduce(0, (r, i) -> r | i)
mapToInt
关于java - 如何使用Java Stream计算蒙版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62409590/
我是一名优秀的程序员,十分优秀!