gpt4 book ai didi

Java 8 Flatmap 从集合中解开多个对象

转载 作者:行者123 更新时间:2023-12-01 20:26:50 26 4
gpt4 key购买 nike

希望在项目中使用一些流并替换当前实现的一些逻辑。不确定这种类型的情况是否是 java 流 api 的良好用例。假设我们有一个集合,我们想要迭代它并检查集合中两个对象的值,只有当它们都为 true 时,我们才会返回一个填充的可选值。

 return Arrays.stream(someMultiDimensionalArray).flatMap(objectArray -> 
.filter(MyClass.class::isInstance)
.filter(v -> v.value().equals(true))
//need to do something here to do, && (if another value in the collection is true also)
.findFirst();

/

boolean one = false;
for(int i=0; i<objectArray.length; i++){
if(!one && objectArray[i].hidden==true)
one = true;

if(objectArray[i].hidden == true && one)
return objectArray[i];
}

最佳答案

所以,你想要的是,如果数组中有超过 1 个具有 hidden == true 的对象,你想要第二个吗? (根据您的代码的含义)。

所以它就像stream.filter(o -> o.hidden).skip(1).findFirst()

关于Java 8 Flatmap 从集合中解开多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43773346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com